67 lines
2.1 KiB
CMake
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")
|