CMakeLists.txt 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. # Source files and their filters
  2. include(CMakeSources.cmake)
  3. # Includes
  4. set(BansheeSL_INC
  5. "Include"
  6. "../BansheeUtility/Include"
  7. "../BansheeCore/Include"
  8. "../BansheeEngine/Include")
  9. include_directories(${BansheeSL_INC})
  10. # Target
  11. add_library(BansheeSL SHARED ${BS_BANSHEESL_SRC})
  12. # Defines
  13. target_compile_definitions(BansheeSL PRIVATE -DBS_SL_EXPORTS)
  14. # Pre-build step
  15. if(WIN32)
  16. add_custom_command(TARGET BansheeSL PRE_BUILD
  17. COMMAND ${PROJECT_SOURCE_DIR}/../Dependencies/tools/flex/flex.exe --wincompat ${PROJECT_SOURCE_DIR}/BansheeSL/BsLexerFX.l
  18. COMMAND ${PROJECT_SOURCE_DIR}/../Dependencies/tools/bison/bison.exe ${PROJECT_SOURCE_DIR}/BansheeSL/BsParserFX.y
  19. COMMAND xcopy /Y /I BsLexerFX.h \"${PROJECT_SOURCE_DIR}/BansheeSL/Include\"
  20. COMMAND xcopy /Y /I BsLexerFX.c \"${PROJECT_SOURCE_DIR}/BansheeSL/Source\"
  21. COMMAND xcopy /Y /I BsParserFX.h \"${PROJECT_SOURCE_DIR}/BansheeSL/Include\"
  22. COMMAND xcopy /Y /I BsParserFX.c \"${PROJECT_SOURCE_DIR}/BansheeSL/Source\"
  23. COMMAND del BsLexerFX.h BsLexerFX.c BsParserFX.h BsParserFX.c
  24. COMMENT "Building lexer/parser..."
  25. )
  26. else()
  27. # TODO_OTHER_PLATFORMS_GO_HERE
  28. endif()
  29. # Libraries
  30. ## Local libs
  31. target_link_libraries(BansheeSL BansheeEngine BansheeUtility BansheeCore)
  32. # IDE specific
  33. set_property(TARGET BansheeSL PROPERTY FOLDER Plugins)