AtomicWindows.cmake 1.3 KB

123456789101112131415161718192021222324252627282930313233343536
  1. include(AtomicDesktop)
  2. set (CMAKE_DEBUG_POSTFIX _d)
  3. add_definitions(-DATOMIC_PLATFORM_WINDOWS -D_CRT_SECURE_NO_WARNINGS -DATOMIC_TBUI)
  4. list (APPEND ATOMIC_LINK_LIBRARIES MojoShader user32 gdi32 winmm imm32 ole32 oleaut32 version uuid d3d9 d3dcompiler)
  5. # compile with static runtime
  6. set(CompilerFlags
  7. CMAKE_CXX_FLAGS
  8. CMAKE_CXX_FLAGS_DEBUG
  9. CMAKE_CXX_FLAGS_RELEASE
  10. CMAKE_C_FLAGS
  11. CMAKE_C_FLAGS_DEBUG
  12. CMAKE_C_FLAGS_RELEASE
  13. )
  14. foreach(CompilerFlag ${CompilerFlags})
  15. string(REPLACE "/MD" "/MT" ${CompilerFlag} "${${CompilerFlag}}")
  16. endforeach()
  17. set (CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} /fp:fast /Zi /GS-")
  18. set (CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELWITHDEBINFO})
  19. set (CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELEASE} /fp:fast /Zi /GS- /D _SECURE_SCL=0")
  20. set (CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELWITHDEBINFO})
  21. # SSE flag is redundant if already compiling as 64bit
  22. if (ATOMIC_SSE AND NOT ATOMIC_64BIT)
  23. set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /arch:SSE")
  24. set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:SSE")
  25. endif ()
  26. set (CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /OPT:REF /OPT:ICF /DEBUG")
  27. set (CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /OPT:REF /OPT:ICF")