Some further changes in CMakeLists
* removed DEV_BUILD autodetection (could be confusing) * ignore desktop subdirectory on Windows * some refactoringdev-ui
parent
3e989c96df
commit
81a6de41a5
|
@ -45,20 +45,6 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
# Include cmake directory with some additional scripts
|
# Include cmake directory with some additional scripts
|
||||||
set(CMAKE_MODULE_PATH "${colobot_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
|
set(CMAKE_MODULE_PATH "${colobot_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
|
||||||
|
|
||||||
# Auto-detect develpment build if not given
|
|
||||||
if(CMAKE_BUILD_TYPE AND NOT(DEV_BUILD))
|
|
||||||
if("${CMAKE_BUILD_TYPE}" MATCHES "debug")
|
|
||||||
SET(DEV_BUILD 1)
|
|
||||||
else()
|
|
||||||
SET(DEV_BUILD 0)
|
|
||||||
endif()
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Default build type if not given is debug
|
|
||||||
if(NOT CMAKE_BUILD_TYPE)
|
|
||||||
set(CMAKE_BUILD_TYPE debug)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
# Compiler detection
|
# Compiler detection
|
||||||
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
|
if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
|
||||||
execute_process(
|
execute_process(
|
||||||
|
@ -123,6 +109,19 @@ option(BOOST_STATIC "Link with static boost libraries" OFF)
|
||||||
# This is useful on Windows, if linking against standard GLEW dll fails
|
# This is useful on Windows, if linking against standard GLEW dll fails
|
||||||
option(GLEW_STATIC "Link statically with GLEW" OFF)
|
option(GLEW_STATIC "Link statically with GLEW" OFF)
|
||||||
|
|
||||||
|
|
||||||
|
# Default build type if not given is debug
|
||||||
|
if(NOT DEFINED CMAKE_BUILD_TYPE)
|
||||||
|
message(STATUS "Build type not specified - assuming debug")
|
||||||
|
set(CMAKE_BUILD_TYPE debug)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Warn about development build
|
||||||
|
if(DEV_BUILD)
|
||||||
|
message("Building with development extensions")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
|
||||||
##
|
##
|
||||||
# Searching for packages
|
# Searching for packages
|
||||||
##
|
##
|
||||||
|
@ -143,7 +142,7 @@ find_package(Boost COMPONENTS system filesystem regex REQUIRED)
|
||||||
|
|
||||||
find_package(GLEW REQUIRED)
|
find_package(GLEW REQUIRED)
|
||||||
|
|
||||||
if (${OPENAL_SOUND})
|
if (OPENAL_SOUND)
|
||||||
find_package(OpenAL REQUIRED)
|
find_package(OpenAL REQUIRED)
|
||||||
find_package(LibSndFile REQUIRED)
|
find_package(LibSndFile REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
@ -153,11 +152,11 @@ endif()
|
||||||
# Platform detection and some related checks
|
# Platform detection and some related checks
|
||||||
##
|
##
|
||||||
|
|
||||||
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
if("${CMAKE_SYSTEM_NAME}" MATCHES "Windows")
|
||||||
set(PLATFORM_WINDOWS 1)
|
set(PLATFORM_WINDOWS 1)
|
||||||
set(PLATFORM_LINUX 0)
|
set(PLATFORM_LINUX 0)
|
||||||
set(PLATFORM_OTHER 0)
|
set(PLATFORM_OTHER 0)
|
||||||
elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
|
||||||
set(PLATFORM_WINDOWS 0)
|
set(PLATFORM_WINDOWS 0)
|
||||||
set(PLATFORM_LINUX 1)
|
set(PLATFORM_LINUX 1)
|
||||||
set(PLATFORM_OTHER 0)
|
set(PLATFORM_OTHER 0)
|
||||||
|
@ -167,11 +166,11 @@ else()
|
||||||
set(PLATFORM_OTHER 1)
|
set(PLATFORM_OTHER 1)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(NOT ${ASSERTS})
|
if(NOT ASSERTS)
|
||||||
add_definitions(-DNDEBUG)
|
add_definitions(-DNDEBUG)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(${TESTS})
|
if(TESTS)
|
||||||
add_definitions(-DTESTS -DTEST_VIRTUAL=virtual)
|
add_definitions(-DTESTS -DTEST_VIRTUAL=virtual)
|
||||||
else()
|
else()
|
||||||
add_definitions(-DTEST_VIRTUAL=)
|
add_definitions(-DTEST_VIRTUAL=)
|
||||||
|
@ -193,9 +192,9 @@ include("${colobot_SOURCE_DIR}/cmake/msys.cmake")
|
||||||
##
|
##
|
||||||
# Summary of detected things
|
# Summary of detected things
|
||||||
##
|
##
|
||||||
if (${PLATFORM_WINDOWS})
|
if (PLATFORM_WINDOWS)
|
||||||
message(STATUS "Build for Windows system")
|
message(STATUS "Build for Windows system")
|
||||||
elseif(${PLATFORM_LINUX})
|
elseif(PLATFORM_LINUX)
|
||||||
message(STATUS "Build for Linux system")
|
message(STATUS "Build for Linux system")
|
||||||
else()
|
else()
|
||||||
message(STATUS "Build for other system")
|
message(STATUS "Build for other system")
|
||||||
|
@ -235,7 +234,7 @@ endif()
|
||||||
# Targets
|
# Targets
|
||||||
##
|
##
|
||||||
|
|
||||||
if(${TESTS})
|
if(TESTS)
|
||||||
# Google Test library
|
# Google Test library
|
||||||
find_path(GTEST_SRC_DIR NAMES src/gtest.cc src/gtest-all.cc PATHS /usr/src PATH_SUFFIXES gtest)
|
find_path(GTEST_SRC_DIR NAMES src/gtest.cc src/gtest-all.cc PATHS /usr/src PATH_SUFFIXES gtest)
|
||||||
find_path(GTEST_INCLUDE_DIR gtest/gtest.h PATHS /usr/include)
|
find_path(GTEST_INCLUDE_DIR gtest/gtest.h PATHS /usr/include)
|
||||||
|
@ -273,8 +272,8 @@ if(${TESTS})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Installation paths defined before compiling sources
|
# Installation paths defined before compiling sources
|
||||||
if (${CMAKE_SYSTEM_NAME} MATCHES "Windows")
|
if(PLATFORM_WINDOWS)
|
||||||
if (${MXE})
|
if(MXE)
|
||||||
# We need to use STRING because PATH doesn't accept relative paths
|
# We need to use STRING because PATH doesn't accept relative paths
|
||||||
set(COLOBOT_INSTALL_BIN_DIR ./ CACHE STRING "Colobot binary directory")
|
set(COLOBOT_INSTALL_BIN_DIR ./ CACHE STRING "Colobot binary directory")
|
||||||
set(COLOBOT_INSTALL_LIB_DIR ./ CACHE STRING "Colobot libraries directory")
|
set(COLOBOT_INSTALL_LIB_DIR ./ CACHE STRING "Colobot libraries directory")
|
||||||
|
@ -301,8 +300,12 @@ add_subdirectory(src)
|
||||||
|
|
||||||
add_subdirectory(po)
|
add_subdirectory(po)
|
||||||
|
|
||||||
if(${DESKTOP})
|
if(DESKTOP)
|
||||||
add_subdirectory(desktop)
|
if(PLATFORM_WINDOWS)
|
||||||
|
message("Desktop files ignored on Windows")
|
||||||
|
else()
|
||||||
|
add_subdirectory(desktop)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -39,7 +39,7 @@ endif()
|
||||||
|
|
||||||
# Create manpage from pod-formatted file
|
# Create manpage from pod-formatted file
|
||||||
find_program(POD2MAN pod2man)
|
find_program(POD2MAN pod2man)
|
||||||
if(POD2MAN AND (NOT MSYS))
|
if(POD2MAN)
|
||||||
set(COLOBOT_MANPAGE_SECTION 6)
|
set(COLOBOT_MANPAGE_SECTION 6)
|
||||||
|
|
||||||
macro(podman)
|
macro(podman)
|
||||||
|
@ -75,7 +75,7 @@ endif()
|
||||||
# Translate translatable material
|
# Translate translatable material
|
||||||
find_program(PO4A po4a)
|
find_program(PO4A po4a)
|
||||||
|
|
||||||
if(PO4A AND (NOT MSYS))
|
if(PO4A)
|
||||||
add_custom_target(desktop_po4a
|
add_custom_target(desktop_po4a
|
||||||
COMMAND ${PO4A} po4a.cfg
|
COMMAND ${PO4A} po4a.cfg
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
|
|
@ -5,9 +5,9 @@ include_directories(. include/clipboard)
|
||||||
add_definitions(-DLIB_COMPILE=1)
|
add_definitions(-DLIB_COMPILE=1)
|
||||||
|
|
||||||
|
|
||||||
if (${PLATFORM_WINDOWS})
|
if(PLATFORM_WINDOWS)
|
||||||
set(CLIPBOARD_SRC src/clipboardWin32.c)
|
set(CLIPBOARD_SRC src/clipboardWin32.c)
|
||||||
elseif (${PLATFORM_LINUX})
|
elseif(PLATFORM_LINUX)
|
||||||
set(CLIPBOARD_SRC src/clipboardX11.c)
|
set(CLIPBOARD_SRC src/clipboardX11.c)
|
||||||
else()
|
else()
|
||||||
set(CLIPBOARD_SRC src/clipboardX11.c)
|
set(CLIPBOARD_SRC src/clipboardX11.c)
|
||||||
|
|
|
@ -12,7 +12,7 @@ CBotVar.cpp
|
||||||
CBotWhile.cpp
|
CBotWhile.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
if(${CBOT_STATIC})
|
if(CBOT_STATIC)
|
||||||
add_library(CBot STATIC ${SOURCES})
|
add_library(CBot STATIC ${SOURCES})
|
||||||
else()
|
else()
|
||||||
add_library(CBot SHARED ${SOURCES})
|
add_library(CBot SHARED ${SOURCES})
|
||||||
|
|
|
@ -8,7 +8,7 @@ set(CMAKE_CXX_FLAGS_DEBUG ${COLOBOT_CXX_FLAGS_DEBUG})
|
||||||
|
|
||||||
add_subdirectory(CBot)
|
add_subdirectory(CBot)
|
||||||
|
|
||||||
if(${TOOLS})
|
if(TOOLS)
|
||||||
add_subdirectory(tools)
|
add_subdirectory(tools)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -17,18 +17,18 @@ endif()
|
||||||
set(OPTIONAL_LIBS "")
|
set(OPTIONAL_LIBS "")
|
||||||
set(OPTIONAL_INCLUDES "")
|
set(OPTIONAL_INCLUDES "")
|
||||||
|
|
||||||
if (${OPENAL_SOUND})
|
if(OPENAL_SOUND)
|
||||||
set(OPTIONAL_LIBS ${OPENAL_LIBRARY})
|
set(OPTIONAL_LIBS ${OPENAL_LIBRARY})
|
||||||
set(OPTIONAL_INCLUDES ${OPENAL_INCLUDE_DIR})
|
set(OPTIONAL_INCLUDES ${OPENAL_INCLUDE_DIR})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Additional libraries per platform
|
# Additional libraries per platform
|
||||||
if (${MXE}) # MXE requires special treatment
|
if(MXE) # MXE requires special treatment
|
||||||
set(PLATFORM_LIBS ${MXE_LIBS})
|
set(PLATFORM_LIBS ${MXE_LIBS})
|
||||||
elseif (${PLATFORM_WINDOWS})
|
elseif(PLATFORM_WINDOWS)
|
||||||
# because it isn't included in standard linking libraries
|
# because it isn't included in standard linking libraries
|
||||||
set(PLATFORM_LIBS "-lintl")
|
set(PLATFORM_LIBS "-lintl")
|
||||||
elseif(${PLATFORM_LINUX})
|
elseif(PLATFORM_LINUX)
|
||||||
# for clock_gettime
|
# for clock_gettime
|
||||||
set(PLATFORM_LIBS "-lrt -lX11")
|
set(PLATFORM_LIBS "-lrt -lX11")
|
||||||
endif()
|
endif()
|
||||||
|
@ -39,7 +39,7 @@ configure_file(common/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/common/config.h
|
||||||
|
|
||||||
set(OPENAL_SRC "")
|
set(OPENAL_SRC "")
|
||||||
|
|
||||||
if (${OPENAL_SOUND})
|
if(OPENAL_SOUND)
|
||||||
set(OPENAL_SRC
|
set(OPENAL_SRC
|
||||||
sound/oalsound/alsound.cpp
|
sound/oalsound/alsound.cpp
|
||||||
sound/oalsound/buffer.cpp
|
sound/oalsound/buffer.cpp
|
||||||
|
@ -48,9 +48,9 @@ if (${OPENAL_SOUND})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Platform-dependent implementation of system.h
|
# Platform-dependent implementation of system.h
|
||||||
if (${PLATFORM_WINDOWS})
|
if(PLATFORM_WINDOWS)
|
||||||
set(SYSTEM_CPP_MODULE "system_windows.cpp")
|
set(SYSTEM_CPP_MODULE "system_windows.cpp")
|
||||||
elseif(${PLATFORM_LINUX})
|
elseif(PLATFORM_LINUX)
|
||||||
set(SYSTEM_CPP_MODULE "system_linux.cpp")
|
set(SYSTEM_CPP_MODULE "system_linux.cpp")
|
||||||
else()
|
else()
|
||||||
set(SYSTEM_CPP_MODULE "system_other.cpp")
|
set(SYSTEM_CPP_MODULE "system_other.cpp")
|
||||||
|
|
|
@ -3,9 +3,9 @@ set(SRC_DIR ${colobot_SOURCE_DIR}/src)
|
||||||
configure_file(${SRC_DIR}/common/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/common/config.h)
|
configure_file(${SRC_DIR}/common/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/common/config.h)
|
||||||
|
|
||||||
# Platform-dependent implementation of system.h
|
# Platform-dependent implementation of system.h
|
||||||
if (${PLATFORM_WINDOWS})
|
if(PLATFORM_WINDOWS)
|
||||||
set(SYSTEM_CPP_MODULE "system_windows.cpp")
|
set(SYSTEM_CPP_MODULE "system_windows.cpp")
|
||||||
elseif(${PLATFORM_LINUX})
|
elseif(PLATFORM_LINUX)
|
||||||
set(SYSTEM_CPP_MODULE "system_linux.cpp")
|
set(SYSTEM_CPP_MODULE "system_linux.cpp")
|
||||||
else()
|
else()
|
||||||
set(SYSTEM_CPP_MODULE "system_other.cpp")
|
set(SYSTEM_CPP_MODULE "system_other.cpp")
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
set(SRC_DIR ${colobot_SOURCE_DIR}/src)
|
set(SRC_DIR ${colobot_SOURCE_DIR}/src)
|
||||||
|
|
||||||
# Additional libraries per platform
|
# Additional libraries per platform
|
||||||
if (${MXE}) # MXE requires special treatment
|
if(MXE) # MXE requires special treatment
|
||||||
set(PLATFORM_LIBS ${MXE_LIBS})
|
set(PLATFORM_LIBS ${MXE_LIBS})
|
||||||
elseif (${PLATFORM_WINDOWS})
|
elseif(PLATFORM_WINDOWS)
|
||||||
# because it isn't included in standard linking libraries
|
# because it isn't included in standard linking libraries
|
||||||
set(PLATFORM_LIBS "-lintl")
|
set(PLATFORM_LIBS "-lintl")
|
||||||
elseif(${PLATFORM_LINUX})
|
elseif(PLATFORM_LINUX)
|
||||||
# for clock_gettime
|
# for clock_gettime
|
||||||
set(PLATFORM_LIBS "-lrt -lX11")
|
set(PLATFORM_LIBS "-lrt -lX11")
|
||||||
endif()
|
endif()
|
||||||
|
@ -16,9 +16,9 @@ endif()
|
||||||
configure_file(${SRC_DIR}/common/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/common/config.h)
|
configure_file(${SRC_DIR}/common/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/common/config.h)
|
||||||
|
|
||||||
# Platform-dependent implementation of system.h
|
# Platform-dependent implementation of system.h
|
||||||
if (${PLATFORM_WINDOWS})
|
if(PLATFORM_WINDOWS)
|
||||||
set(SYSTEM_CPP_MODULE "system_windows.cpp")
|
set(SYSTEM_CPP_MODULE "system_windows.cpp")
|
||||||
elseif(${PLATFORM_LINUX})
|
elseif(PLATFORM_LINUX)
|
||||||
set(SYSTEM_CPP_MODULE "system_linux.cpp")
|
set(SYSTEM_CPP_MODULE "system_linux.cpp")
|
||||||
else()
|
else()
|
||||||
set(SYSTEM_CPP_MODULE "system_other.cpp")
|
set(SYSTEM_CPP_MODULE "system_other.cpp")
|
||||||
|
@ -149,7 +149,7 @@ ${SRC_DIR}/ui/window.cpp
|
||||||
|
|
||||||
set(OPENAL_SOURCES "")
|
set(OPENAL_SOURCES "")
|
||||||
|
|
||||||
if (${OPENAL_SOUND})
|
if(OPENAL_SOUND)
|
||||||
set(OPENAL_SOURCES
|
set(OPENAL_SOURCES
|
||||||
${SRC_DIR}/sound/oalsound/alsound.cpp
|
${SRC_DIR}/sound/oalsound/alsound.cpp
|
||||||
${SRC_DIR}/sound/oalsound/buffer.cpp
|
${SRC_DIR}/sound/oalsound/buffer.cpp
|
||||||
|
@ -160,16 +160,16 @@ endif()
|
||||||
# Optional libraries
|
# Optional libraries
|
||||||
set(OPTIONAL_LIBS "")
|
set(OPTIONAL_LIBS "")
|
||||||
|
|
||||||
if (${OPENAL_SOUND})
|
if(OPENAL_SOUND)
|
||||||
set(OPTIONAL_LIBS ${OPENAL_LIBRARY})
|
set(OPTIONAL_LIBS ${OPENAL_LIBRARY})
|
||||||
set(OPTIONAL_INCLUDES ${OPENAL_INCLUDE_DIR})
|
set(OPTIONAL_INCLUDES ${OPENAL_INCLUDE_DIR})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
||||||
# Platform-dependent tests
|
# Platform-dependent tests
|
||||||
if (${PLATFORM_WINDOWS})
|
if(PLATFORM_WINDOWS)
|
||||||
set(PLATFORM_TESTS app/system_windows_test.cpp)
|
set(PLATFORM_TESTS app/system_windows_test.cpp)
|
||||||
elseif(${PLATFORM_LINUX})
|
elseif(PLATFORM_LINUX)
|
||||||
set(PLATFORM_TESTS app/system_linux_test.cpp)
|
set(PLATFORM_TESTS app/system_linux_test.cpp)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -9,9 +9,9 @@ ${CLIPBOARD_INCLUDE_DIR}
|
||||||
)
|
)
|
||||||
|
|
||||||
# Platform-dependent implementation of CSystemUtils
|
# Platform-dependent implementation of CSystemUtils
|
||||||
if (${PLATFORM_WINDOWS})
|
if(PLATFORM_WINDOWS)
|
||||||
set(SYSTEM_CPP_MODULE "system_windows.cpp")
|
set(SYSTEM_CPP_MODULE "system_windows.cpp")
|
||||||
elseif(${PLATFORM_LINUX})
|
elseif(PLATFORM_LINUX)
|
||||||
set(SYSTEM_CPP_MODULE "system_linux.cpp")
|
set(SYSTEM_CPP_MODULE "system_linux.cpp")
|
||||||
set(ADDITIONAL_LIB "-lX11")
|
set(ADDITIONAL_LIB "-lX11")
|
||||||
else()
|
else()
|
||||||
|
|
Loading…
Reference in New Issue