CMakeLists.txt 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. CMAKE_MINIMUM_REQUIRED( VERSION 2.6 )
  2. PROJECT( OpenDDL-Parser )
  3. SET ( OPENDDL_PARSER_VERSION_MAJOR 0 )
  4. SET ( OPENDDL_PARSER_VERSION_MINOR 1 )
  5. SET ( OPENDDL_PARSER_VERSION_PATCH 0 )
  6. SET ( OPENDDL_PARSER_VERSION ${CPPCORE_VERSION_MAJOR}.${CPPCORE_VERSION_MINOR}.${CPPCORE_VERSION_PATCH} )
  7. SET ( PROJECT_VERSION "${OPENDDL_PARSER_VERSION}" )
  8. if( CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX )
  9. find_package(Threads)
  10. else()
  11. add_definitions( -D_CRT_SECURE_NO_WARNINGS )
  12. endif()
  13. add_definitions( -DOPENDDLPARSER_BUILD )
  14. add_definitions( -DOPENDDL_NO_USE_CPP11 )
  15. add_definitions( -D_VARIADIC_MAX=10 )
  16. INCLUDE_DIRECTORIES(
  17. ./
  18. include/
  19. contrib/gtest-1.7.0/include
  20. contrib/gtest-1.7.0/
  21. )
  22. link_directories(
  23. ./
  24. )
  25. SET( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_HOME_DIRECTORY}/lib )
  26. SET( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_HOME_DIRECTORY}/lib )
  27. SET( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_HOME_DIRECTORY}/bin )
  28. if( WIN32 AND NOT CYGWIN )
  29. set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc" ) # Force to always compile with W4
  30. if( CMAKE_CXX_FLAGS MATCHES "/W[0-4]" )
  31. string( REGEX REPLACE "/W[0-4]" "/W4" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" )
  32. else()
  33. set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W4" )
  34. endif()
  35. elseif( CMAKE_COMPILER_IS_GNUCC OR CMAKE_COMPILER_IS_GNUCXX )
  36. # Update if necessary
  37. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -pedantic -std=c++0x")
  38. elseif ( "${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" )
  39. set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-long-long -pedantic -std=c++11")
  40. endif()
  41. SET ( openddl_parser_src
  42. code/OpenDDLParser.cpp
  43. code/DDLNode.cpp
  44. code/Value.cpp
  45. include/openddlparser/OpenDDLParser.h
  46. include/openddlparser/OpenDDLParserUtils.h
  47. include/openddlparser/OpenDDLCommon.h
  48. include/openddlparser/DDLNode.h
  49. include/openddlparser/Value.h
  50. README.md
  51. )
  52. SOURCE_GROUP( code FILES ${openddl_parser_src} )
  53. ADD_LIBRARY( openddl_parser SHARED
  54. ${openddl_parser_src}
  55. )