CMakeLists.txt 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. cmake_minimum_required(VERSION 3.7)
  2. project(softwareRenderer)
  3. set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/modules")
  4. if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
  5. set(SDL2_PATH "C:\\vs_dev_lib\\SDL2-2.0.8-MinGW")
  6. elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel")
  7. # using Intel C++
  8. elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
  9. set(SDL2_PATH "C:\\vs_dev_lib\\SDL2-2.0.8-MSVC")
  10. endif()
  11. find_package(SDL2 REQUIRED)
  12. find_package(OpenMP REQUIRED)
  13. include_directories(${SDL2_INCLUDE_DIR} include libs)
  14. file(GLOB source_files "*.h" "*.cpp" "src/*.cpp" "include/*.h" "libs/*.h")
  15. add_executable(softwareRenderer ${source_files})
  16. #-fopt-info-vec-all -xCORE-AVX2 -no-prec-sqrt
  17. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS} -g -ffast-math -static -static-libgcc -static-libstdc++ ")
  18. set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -g ")
  19. set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -g ")
  20. target_link_libraries(softwareRenderer ${SDL2_LIBRARY})
  21. if(WIN32)
  22. add_custom_command(TARGET softwareRenderer POST_BUILD COMMAND
  23. ${CMAKE_COMMAND} -E copy_if_different
  24. ${SDL2_DLL}
  25. $<TARGET_FILE_DIR:softwareRenderer>)
  26. endif()