CMakeLists.txt 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. cmake_minimum_required(VERSION 2.8)
  2. project(squirrel)
  3. # get machine
  4. execute_process( COMMAND ${CMAKE_C_COMPILER} -dumpmachine OUTPUT_VARIABLE DUMP_MACHINE OUTPUT_STRIP_TRAILING_WHITESPACE)
  5. message("Dump Machine : ${DUMP_MACHINE}")
  6. # get architecture
  7. if(NOT DEFINED ARCHITECTURE)
  8. string(FIND ${DUMP_MACHINE} "-" DUMP_MACHINE_STRIP)
  9. string(SUBSTRING ${DUMP_MACHINE} 0 ${DUMP_MACHINE_STRIP} ARCHITECTURE)
  10. endif()
  11. message("Architecture : ${ARCHITECTURE}")
  12. # global includes
  13. include_directories(
  14. ${PROJECT_SOURCE_DIR}/include
  15. )
  16. # global flags
  17. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-exceptions -fno-rtti -Wall -fno-strict-aliasing")
  18. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-exceptions -Wall -fno-strict-aliasing")
  19. set(SQGLOB_FLAGS_RELEASE "-O2")
  20. set(SQGLOB_FLAGS_DEBUG "-pg -pie -gstabs -g3")
  21. set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${SQGLOB_FLAGS_RELEASE}")
  22. set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_DEBUG} ${SQGLOB_FLAGS_DEBUG}")
  23. set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${SQGLOB_FLAGS_RELEASE}")
  24. set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_DEBUG} ${SQGLOB_FLAGS_DEBUG}")
  25. if("${ARCHITECTURE}" STREQUAL "x86_64")
  26. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_SQ64")
  27. set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_SQ64")
  28. endif()
  29. # subdirectories
  30. add_subdirectory(squirrel)
  31. add_subdirectory(sqstdlib)
  32. add_subdirectory(sq)