mirror of
https://github.com/enduro2d/enduro2d.git
synced 2025-12-14 08:07:17 +07:00
remove global definitions from cmakelists
This commit is contained in:
@@ -2,24 +2,25 @@ cmake_minimum_required(VERSION 3.9.2 FATAL_ERROR)
|
||||
project(enduro2d)
|
||||
|
||||
#
|
||||
# global defines
|
||||
# build mode
|
||||
#
|
||||
|
||||
enable_testing()
|
||||
foreach(flags CMAKE_C_FLAGS_DEBUG
|
||||
CMAKE_CXX_FLAGS_DEBUG)
|
||||
set(${flags} "${${flags}} -D_DEBUG -DNRELEASE")
|
||||
endforeach(flags)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 14)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||
|
||||
set(E2D_DEBUG_FLAGS " -D_DEBUG -DNRELEASE")
|
||||
set(E2D_RELEASE_FLAGS " -DNDEBUG -D_RELEASE")
|
||||
set(CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}${E2D_DEBUG_FLAGS})
|
||||
set(CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}${E2D_DEBUG_FLAGS})
|
||||
set(CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}${E2D_RELEASE_FLAGS})
|
||||
set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}${E2D_RELEASE_FLAGS})
|
||||
foreach(flags CMAKE_C_FLAGS_RELEASE
|
||||
CMAKE_C_FLAGS_MINSIZEREL
|
||||
CMAKE_C_FLAGS_RELWITHDEBINFO
|
||||
CMAKE_CXX_FLAGS_RELEASE
|
||||
CMAKE_CXX_FLAGS_MINSIZEREL
|
||||
CMAKE_CXX_FLAGS_RELWITHDEBINFO)
|
||||
set(${flags} "${${flags}} -DNDEBUG -D_RELEASE")
|
||||
endforeach(flags)
|
||||
|
||||
#
|
||||
# warnings
|
||||
# warning mode
|
||||
#
|
||||
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
|
||||
@@ -39,46 +40,51 @@ endif()
|
||||
# e2d sources
|
||||
#
|
||||
|
||||
file(GLOB_RECURSE e2d_headers
|
||||
file(GLOB_RECURSE E2D_HEADERS
|
||||
headers/enduro2d/*.hpp
|
||||
headers/enduro2d/*.inl)
|
||||
|
||||
file(GLOB_RECURSE e2d_sources
|
||||
file(GLOB_RECURSE E2D_SOURCES
|
||||
sources/enduro2d/*.cpp
|
||||
sources/enduro2d/*.hpp
|
||||
headers/enduro2d/*.inl)
|
||||
|
||||
if(APPLE)
|
||||
file(GLOB_RECURSE e2d_sources_mm
|
||||
file(GLOB_RECURSE E2D_SOURCES_MM
|
||||
sources/enduro2d/*.mm)
|
||||
list(APPEND e2d_sources ${e2d_sources_mm})
|
||||
list(APPEND E2D_SOURCES ${E2D_SOURCES_MM})
|
||||
endif()
|
||||
|
||||
#
|
||||
# 3rd party
|
||||
# e2d 3rd party
|
||||
#
|
||||
|
||||
file(GLOB_RECURSE e2d_3rdparty
|
||||
file(GLOB_RECURSE E2D_3RDPARTY
|
||||
sources/3rdparty/*.*)
|
||||
|
||||
#
|
||||
# e2d library
|
||||
# e2d library target
|
||||
#
|
||||
|
||||
add_library(${PROJECT_NAME} STATIC
|
||||
${e2d_headers}
|
||||
${e2d_sources}
|
||||
${e2d_3rdparty})
|
||||
${E2D_HEADERS}
|
||||
${E2D_SOURCES}
|
||||
${E2D_3RDPARTY})
|
||||
|
||||
source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES
|
||||
${e2d_headers}
|
||||
${e2d_sources}
|
||||
${e2d_3rdparty})
|
||||
${E2D_HEADERS}
|
||||
${E2D_SOURCES}
|
||||
${E2D_3RDPARTY})
|
||||
|
||||
target_include_directories(${PROJECT_NAME} PRIVATE
|
||||
headers
|
||||
sources)
|
||||
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES
|
||||
CXX_STANDARD 14
|
||||
CXX_STANDARD_REQUIRED YES
|
||||
CXX_EXTENSIONS NO)
|
||||
|
||||
#
|
||||
# subdirectories
|
||||
#
|
||||
@@ -90,5 +96,6 @@ endif()
|
||||
|
||||
option(E2D_BUILD_UNTESTS "Build untests" ON)
|
||||
if(E2D_BUILD_UNTESTS)
|
||||
enable_testing()
|
||||
add_subdirectory(untests)
|
||||
endif()
|
||||
|
||||
@@ -48,6 +48,11 @@ function(add_e2d_sample NAME)
|
||||
${Foundation})
|
||||
endif(APPLE)
|
||||
|
||||
set_target_properties(${SAMPLE_NAME} PROPERTIES
|
||||
CXX_STANDARD 14
|
||||
CXX_STANDARD_REQUIRED YES
|
||||
CXX_EXTENSIONS NO)
|
||||
|
||||
#
|
||||
# resources
|
||||
#
|
||||
@@ -57,12 +62,12 @@ function(add_e2d_sample NAME)
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin
|
||||
${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/bin)
|
||||
else()
|
||||
else(MSVC)
|
||||
add_custom_command(TARGET ${SAMPLE_NAME} POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin
|
||||
${CMAKE_CURRENT_BINARY_DIR}/bin)
|
||||
endif()
|
||||
endif(MSVC)
|
||||
endfunction(add_e2d_sample)
|
||||
|
||||
add_e2d_sample(00)
|
||||
|
||||
@@ -40,6 +40,11 @@ function(add_e2d_tests NAME)
|
||||
${Foundation})
|
||||
endif(APPLE)
|
||||
|
||||
set_target_properties(${TESTS_NAME} PROPERTIES
|
||||
CXX_STANDARD 14
|
||||
CXX_STANDARD_REQUIRED YES
|
||||
CXX_EXTENSIONS NO)
|
||||
|
||||
#
|
||||
# resources
|
||||
#
|
||||
@@ -49,12 +54,12 @@ function(add_e2d_tests NAME)
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin
|
||||
${CMAKE_CURRENT_BINARY_DIR}/$<CONFIG>/bin)
|
||||
else()
|
||||
else(MSVC)
|
||||
add_custom_command(TARGET ${TESTS_NAME} POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/bin
|
||||
${CMAKE_CURRENT_BINARY_DIR}/bin)
|
||||
endif()
|
||||
endif(MSVC)
|
||||
|
||||
#
|
||||
# tests
|
||||
|
||||
Reference in New Issue
Block a user