First
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
cmake_minimum_required(VERSION 3.16.5)
|
||||
|
||||
project(TL)
|
||||
|
||||
include(${PROJECT_SOURCE_DIR}/../build-utils/cmake/compiler_settings.cmake)
|
||||
|
||||
if (MSVC)
|
||||
add_definitions(/bigobj)
|
||||
set(LIB_FOLDER "vs2022")
|
||||
elseif (ANDROID)
|
||||
set(LIB_FOLDER "Android")
|
||||
elseif (APPLE)
|
||||
set(LIB_FOLDER "macos")
|
||||
endif()
|
||||
|
||||
if(NOT TARGET EASTL)
|
||||
set(EASTL_DIR "${PROJECT_SOURCE_DIR}/../EASTL")
|
||||
set(EASTL_LIB_DIR "${EASTL_DIR}/release/lib/${LIB_FOLDER}")
|
||||
add_library(EASTL STATIC IMPORTED)
|
||||
list(APPEND EASTL_INCLUDE_DIRS "${EASTL_DIR}/include"
|
||||
"${EASTL_DIR}/test/packages/EAAssert/include"
|
||||
"${EASTL_DIR}/test/packages/EABase/include/Common"
|
||||
"${EASTL_DIR}/test/packages/EAMain/include"
|
||||
"${EASTL_DIR}/test/packages/EAStdC/include"
|
||||
"${EASTL_DIR}/test/packages/EATest/include"
|
||||
"${EASTL_DIR}/test/packages/EAThread/include")
|
||||
list(APPEND LIB_INCLUDE_DIRS "dir2")
|
||||
set_target_properties(EASTL PROPERTIES
|
||||
IMPORTED_LOCATION "${EASTL_LIB_DIR}/Release/${LIB_PREFIX}EASTL${LIB_SUFFIX}"
|
||||
IMPORTED_LOCATION_DEBUG "${EASTL_LIB_DIR}/Debug/${LIB_PREFIX}EASTL${LIB_SUFFIX}"
|
||||
INTERFACE_INCLUDE_DIRECTORIES "${EASTL_INCLUDE_DIRS}")
|
||||
endif()
|
||||
|
||||
file(GLOB_RECURSE SRC "src/*.cpp")
|
||||
file(GLOB_RECURSE HEADERS "include/*.h" "include/*.inl" "include/*.hpp" "include/*.tpp")
|
||||
file(GLOB_RECURSE NATVIS "natvis/*.natjmc" "natvis/*.natstepfilter" "natvis/*.natvis")
|
||||
|
||||
foreach(_source IN ITEMS ${HEADERS})
|
||||
get_filename_component(_source_path "${_source}" PATH)
|
||||
file(RELATIVE_PATH _source_path_rel "${PROJECT_SOURCE_DIR}" "${_source_path}")
|
||||
string(REPLACE "/" "\\" _group_path "${_source_path_rel}")
|
||||
source_group("${_group_path}" FILES "${_source}")
|
||||
endforeach()
|
||||
|
||||
foreach(_source IN ITEMS ${SRC})
|
||||
get_filename_component(_source_path "${_source}" PATH)
|
||||
file(RELATIVE_PATH _source_path_rel "${PROJECT_SOURCE_DIR}" "${_source_path}")
|
||||
string(REPLACE "/" "\\" _group_path "${_source_path_rel}")
|
||||
source_group("${_group_path}" FILES "${_source}")
|
||||
endforeach()
|
||||
|
||||
add_library(TL STATIC ${SRC} ${HEADERS} ${NATVIS})
|
||||
target_include_directories(TL PUBLIC "include")
|
||||
target_link_libraries(TL EASTL)
|
||||
|
||||
#if(BUILD_SHARED_LIBS)
|
||||
# target_compile_definitions(TL PUBLIC TL_BUILD_SHARED_LIB)
|
||||
#endif()
|
||||
|
||||
if (0)
|
||||
#//////////////////////////////////
|
||||
|
||||
set(Boost_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/../boost")
|
||||
set(Boost_LIBRARY_DIR "${PROJECT_SOURCE_DIR}/../boost/stage/lib")
|
||||
set(Boost_USE_STATIC_LIBS ON)
|
||||
set(Boost_USE_MULTITHREADED ON)
|
||||
set(Boost_USE_STATIC_RUNTIME OFF)
|
||||
find_package(Boost 1.69 COMPONENTS unit_test_framework)
|
||||
|
||||
file(GLOB_RECURSE TEST_SRC "test/*.cpp" "test/*.h")
|
||||
add_executable(TL_Test ${TEST_SRC})
|
||||
target_link_libraries(TL_Test TL)
|
||||
target_link_libraries(TL_Test ${Boost_LIBRARIES})
|
||||
target_include_directories(TL_Test PUBLIC ${Boost_INCLUDE_DIRS})
|
||||
endif()
|
||||
Reference in New Issue
Block a user