cmake_minimum_required(VERSION 3.17) set(CMAKE_C_STANDARD 90) set(CMAKE_CXX_STANDARD 11) if (WIN32) message ([STATUS]" os Windows") set(SDL2_INCLUDE_DIR C:/TDM-GCC-64/x86_64-w64-mingw32/include) set(SDL2_LIB_DIR C:/TDM-GCC-64/x86_64-w64-mingw32/lib) option(BUILD_TESTS OFF) set(BUILD_TESTS ON) include_directories(include) if(BUILD_TESTS) project(INSAGAMETEST C CXX) set(GTEST_INCLUDE_DIR /googletest/googletest/include) include_directories(test) include_directories(${GTEST_INCLUDE_DIR}) enable_testing() add_subdirectory(googletest) file(GLOB_RECURSE SOURCES "src/*c" test_main.cpp) add_executable(INSAGAMETEST ${SOURCES}) target_link_libraries(${PROJECT_NAME} mingw32 SDL2main SDL2 SDL2_image gtest gtest_main) add_test( NAME INSAGAMETEST COMMAND INSAGAMETEST ) else() project(INSAGAME C) file(GLOB_RECURSE SOURCES "src/*c" main.c) add_executable(INSAGAME ${SOURCES}) target_link_libraries(${PROJECT_NAME} mingw32 SDL2main SDL2 SDL2_image) endif(BUILD_TESTS) else(APPLE) message([STATUS] "os Mac") set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/") find_package( SDL2 REQUIRED ) include_directories( ${SDL2_INCLUDE_DIRS} "/usr/local/Cellar/sdl2_image/2.0.5/include/SDL2" "include" ) file(GLOB_RECURSE SOURCES "src/*c" main.c) add_executable(INSAGAME ${SOURCES} include/GAME.c include/GAME.h test_main.c test/testpersonnage.cpp) target_link_libraries(${PROJECT_NAME} ${SDL2_LIBRARIES} "-L/usr/local/Cellar/sdl2_image/2.0.5/lib -lSDL2") endif()