Add all cmakelist files
This commit is contained in:
@@ -0,0 +1,23 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.1)
|
||||||
|
|
||||||
|
include(ExternalProject)
|
||||||
|
|
||||||
|
project(DoRayMe)
|
||||||
|
|
||||||
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
|
|
||||||
|
|
||||||
|
#Add external projects that directly need to be builded
|
||||||
|
ExternalProject_Add(googletest
|
||||||
|
SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/external/googletest"
|
||||||
|
BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/external/googletest"
|
||||||
|
CONFIGURE_COMMAND ""
|
||||||
|
BUILD_COMMAND ""
|
||||||
|
INSTALL_COMMAND ""
|
||||||
|
TEST_COMMAND ""
|
||||||
|
)
|
||||||
|
|
||||||
|
# Main app
|
||||||
|
add_subdirectory(source)
|
||||||
|
# Unit Tests
|
||||||
|
add_subdirectory(tests)
|
||||||
16
source/CMakeLists.txt
Normal file
16
source/CMakeLists.txt
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
# To simplify testing, the app is build in two passes,
|
||||||
|
|
||||||
|
# First most is build as a library
|
||||||
|
add_library(rayonnement STATIC math_helper.cpp)
|
||||||
|
|
||||||
|
set(RAY_HEADERS include/tuples.h include/math_helper.h)
|
||||||
|
set(RAY_SOURCES tuples.cpp)
|
||||||
|
|
||||||
|
target_include_directories(rayonnement PUBLIC include)
|
||||||
|
target_sources(rayonnement PRIVATE ${RAY_HEADERS} ${RAY_SOURCES})
|
||||||
|
|
||||||
|
|
||||||
|
# Second we build the main executable
|
||||||
|
add_executable(dorayme main.cpp)
|
||||||
|
target_include_directories(rayonnement PUBLIC include)
|
||||||
|
target_link_libraries(dorayme rayonnement)
|
||||||
12
tests/CMakeLists.txt
Normal file
12
tests/CMakeLists.txt
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
project(DoRayTested)
|
||||||
|
|
||||||
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||||
|
find_package(Threads REQUIRED)
|
||||||
|
|
||||||
|
set(TESTS_SRC tuples_test.cpp)
|
||||||
|
|
||||||
|
add_executable(testMyRays)
|
||||||
|
target_include_directories(testMyRays PUBLIC ${gtest_SOURCE_DIR}/include ${gtest_SOURCE_DIR})
|
||||||
|
target_include_directories(testMyRays PUBLIC ../source/include)
|
||||||
|
target_sources(testMyRays PRIVATE ${TESTS_SRC})
|
||||||
|
target_link_libraries(testMyRays gtest gtest_main rayonnement Threads::Threads)
|
||||||
Reference in New Issue
Block a user