# don't use this file directly. use the one in the root folder of the project SET(PROJECT_HDRS DFCommonInternal.h DFHackAPI.h DFMemInfo.h DFMemInfoManager.h DFProcessEnumerator.h DFProcess.h DFTileTypes.h DFTypes.h DFVector.h DFWindow.h integers.h md5/md5.h md5/md5wrapper.h tinyxml/tinystr.h tinyxml/tinyxml.h argstream/argstream.h ../shmserver/shms.h ) SET(PROJECT_SRCS DFMemInfo.cpp DFMemInfoManager.cpp DFHackAPI.cpp DFTileTypes.cpp md5/md5.cpp md5/md5wrapper.cpp tinyxml/tinystr.cpp tinyxml/tinyxml.cpp tinyxml/tinyxmlerror.cpp tinyxml/tinyxmlparser.cpp ) SET(PROJECT_HDRS_LINUX ) SET(PROJECT_HDRS_WINDOWS stdint_win.h ) SET(PROJECT_SRCS_LINUX DFProcess-linux.cpp DFProcess-linux-SHM.cpp DFProcess-linux-wine.cpp DFWindow-linux.cpp DFProcessEnumerator-linux.cpp ) SET(PROJECT_SRCS_WINDOWS DFProcess-windows.cpp DFProcess-windows-SHM.cpp DFWindow-windows.cpp DFProcessEnumerator-windows.cpp ) IF(UNIX) LIST(APPEND PROJECT_HDRS ${PROJECT_HDRS_LINUX}) LIST(APPEND PROJECT_SRCS ${PROJECT_SRCS_LINUX}) ELSE(UNIX) LIST(APPEND PROJECT_HDRS ${PROJECT_HDRS_WINDOWS}) LIST(APPEND PROJECT_SRCS ${PROJECT_SRCS_WINDOWS}) ENDIF(UNIX) SET_SOURCE_FILES_PROPERTIES( ${PROJECT_HDRS} PROPERTIES HEADER_FILE_ONLY TRUE ) LIST(APPEND PROJECT_SRCS ${PROJECT_HDRS}) SET( MEMXML_DATA_PATH . CACHE PATH "search path for Memory.xml") # OPTION( VARIABLE "Description" Initial state) #OPTION( WITH_FOO "Enable FOO support" ON ) #OPTION( WITH_BAR "Enable BAR component" OFF ) CONFIGURE_FILE( ${CMAKE_SOURCE_DIR}/library/config.h.cmake ${CMAKE_SOURCE_DIR}/library/config.h ) IF(UNIX) add_definitions(-DLINUX_BUILD) add_definitions(-DUSE_CONFIG_H) find_library(X11_LIBRARY X11) SET(CMAKE_CXX_FLAGS_DEBUG "-g -Wall -pedantic") SET(CMAKE_CXX_FLAGS "-fvisibility=hidden") SET(PROJECT_LIBS ${X11_LIBRARY} rt) ELSE(UNIX) SET(PROJECT_LIBS psapi) ENDIF(UNIX) ADD_LIBRARY(dfhack SHARED ${PROJECT_SRCS}) SET_TARGET_PROPERTIES(dfhack PROPERTIES DEBUG_POSTFIX "-debug" ) TARGET_LINK_LIBRARIES(dfhack ${PROJECT_LIBS}) IF(UNIX) install(TARGETS dfhack LIBRARY DESTINATION lib) install(FILES ${CMAKE_SOURCE_DIR}/output/Memory.xml DESTINATION share/dfhack) ENDIF(UNIX) #install(TARGETS mySharedLib DESTINATION /some/full/path)