speed-dreams/src/main/CMakeLists.txt

67 lines
2.1 KiB
CMake

INCLUDE(../../cmake/macros.cmake)
PROJECT(speed-dreams-2)
SET(_TARGET_NAME speed-dreams-2)
SET(_SOURCES main.cpp)
IF(MSVC)
SET(_SOURCES ${_SOURCES} main.rc resource.h ../../data/data/icons/icon.ico)
ENDIF(MSVC)
ADD_INTERFACE_INCLUDEDIR()
ADD_SDLIB_INCLUDEDIR(tgf tgfclient tgfdata math portability)
ADD_SDL2_INCLUDEDIR()
ADD_PLIB_INCLUDEDIR()
# Disable developer warning
IF(COMMAND CMAKE_POLICY)
CMAKE_POLICY(SET CMP0003 NEW)
ENDIF(COMMAND CMAKE_POLICY)
IF(MSVC)
# Ignore some run-time libs to avoid link time warnings and sometimes even crashes.
SET(CMAKE_EXE_LINKER_FLAGS_DEBUG
"${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcmt.lib")
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE
"${CMAKE_EXE_LINKER_FLAGS_RELEASE} /NODEFAULTLIB:libcmt.lib")
ENDIF(MSVC)
SD_ADD_EXECUTABLE(${_TARGET_NAME} ${_SOURCES})
ADD_SDLIB_LIBRARY(${_TARGET_NAME} portability tgf tgfclient tgfdata)
# Needed when using the "MinGW Makefiles" CMake generator (but not with the "MSYS Makefiles" one !)
IF(MINGW)
TARGET_LINK_LIBRARIES(${_TARGET_NAME} ${MINGW32_LIBRARY})
ENDIF(MINGW)
IF(UNIX)
SD_INSTALL_FILES(MAN man6 PREFIX ${SOURCE_DIR}/doc/man FILES ${_TARGET_NAME}.6)
ENDIF(UNIX)
SD_INSTALL_FILES(BIN TARGETS ${_TARGET_NAME})
IF((APPLE) AND ("${CMAKE_INSTALL_PREFIX}" MATCHES "\\.app$"))
INSTALL(FILES ../../packaging/OSX/Info.plist DESTINATION ./Contents)
INSTALL(FILES ../../packaging/OSX/sd-icon-mac-256.icns DESTINATION ./Contents/Resources)
ENDIF()
# Under Windows, install needed 3rd party DLLs close to Speed Dreams executable.
IF(WIN32)
INCLUDE(customthirdparty)
SD_INSTALL_CUSTOM_3RDPARTY(${_TARGET_NAME})
ENDIF(WIN32)
IF(NOT ${CMAKE_VERSION} VERSION_LESS "3.13")
# To avoid 'undefined reference to glActiveTextureARB [--no-allow-shlib-undefined]'
IF(UNIX AND NOT APPLE)
IF(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
target_link_options(${_TARGET_NAME} PRIVATE -Wl,--allow-shlib-undefined)
ENDIF(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
target_link_options(${_TARGET_NAME} PRIVATE -Wl,-E)
ENDIF(UNIX AND NOT APPLE)
ENDIF(NOT ${CMAKE_VERSION} VERSION_LESS "3.13")