CMakeLists.txt 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. set(SQSTDLIB_SRC sqstdaux.cpp
  2. sqstdblob.cpp
  3. sqstdio.cpp
  4. sqstdmath.cpp
  5. sqstdrex.cpp
  6. sqstdstream.cpp
  7. sqstdstring.cpp
  8. sqstdsystem.cpp)
  9. if(NOT DISABLE_DYNAMIC)
  10. add_library(sqstdlib SHARED ${SQSTDLIB_SRC})
  11. add_library(squirrel::sqstdlib ALIAS sqstdlib)
  12. set_property(TARGET sqstdlib PROPERTY EXPORT_NAME sqstdlib)
  13. target_link_libraries(sqstdlib squirrel)
  14. if(NOT SQ_DISABLE_INSTALLER)
  15. install(TARGETS sqstdlib EXPORT squirrel
  16. RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Libraries
  17. LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Libraries NAMELINK_SKIP
  18. ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Libraries
  19. )
  20. install(TARGETS sqstdlib EXPORT squirrel
  21. LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development NAMELINK_ONLY
  22. )
  23. endif()
  24. target_include_directories(sqstdlib PUBLIC
  25. "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
  26. "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
  27. )
  28. endif()
  29. if(NOT DISABLE_STATIC)
  30. add_library(sqstdlib_static STATIC ${SQSTDLIB_SRC})
  31. add_library(squirrel::sqstdlib_static ALIAS sqstdlib_static)
  32. set_property(TARGET sqstdlib_static PROPERTY EXPORT_NAME sqstdlib_static)
  33. if(NOT SQ_DISABLE_INSTALLER)
  34. install(TARGETS sqstdlib_static EXPORT squirrel ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT Development)
  35. endif()
  36. target_include_directories(sqstdlib_static PUBLIC
  37. "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>"
  38. "$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>"
  39. )
  40. endif()
  41. if(LONG_OUTPUT_NAMES)
  42. if(NOT DISABLE_DYNAMIC)
  43. set_target_properties(sqstdlib PROPERTIES OUTPUT_NAME sqstdlib3)
  44. endif()
  45. if(NOT DISABLE_STATIC)
  46. set_target_properties(sqstdlib_static PROPERTIES OUTPUT_NAME sqstdlib3_static)
  47. endif()
  48. endif()