|
@@ -1,27 +1,30 @@
|
|
|
-execute_process(
|
|
|
|
|
- COMMAND ${PROJECT_SOURCE_DIR}/../Dependencies/tools/flex/flex.exe --wincompat ${PROJECT_SOURCE_DIR}/BansheeSL/BsLexerFX.l
|
|
|
|
|
- COMMAND ${PROJECT_SOURCE_DIR}/../Dependencies/tools/bison/bison.exe ${PROJECT_SOURCE_DIR}/BansheeSL/BsParserFX.y
|
|
|
|
|
- WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/BansheeSL
|
|
|
|
|
- RESULT_VARIABLE rv
|
|
|
|
|
- )
|
|
|
|
|
-
|
|
|
|
|
-file(RENAME "${PROJECT_SOURCE_DIR}/BansheeSL/BsLexerFX.h" "${PROJECT_SOURCE_DIR}/BansheeSL/Include/BsLexerFX.h")
|
|
|
|
|
-file(RENAME "${PROJECT_SOURCE_DIR}/BansheeSL/BsLexerFX.c" "${PROJECT_SOURCE_DIR}/BansheeSL/Source/BsLexerFX.c")
|
|
|
|
|
-file(RENAME "${PROJECT_SOURCE_DIR}/BansheeSL/BsParserFX.h" "${PROJECT_SOURCE_DIR}/BansheeSL/Include/BsParserFX.h")
|
|
|
|
|
-file(RENAME "${PROJECT_SOURCE_DIR}/BansheeSL/BsParserFX.c" "${PROJECT_SOURCE_DIR}/BansheeSL/Source/BsParserFX.c")
|
|
|
|
|
|
|
+
|
|
|
|
|
+if(NOT WIN32)
|
|
|
|
|
+ find_package(BISON REQUIRED)
|
|
|
|
|
+ find_package(FLEX REQUIRED)
|
|
|
|
|
+ message("Building lexer/parser...")
|
|
|
|
|
+ execute_process(
|
|
|
|
|
+ COMMAND ${FLEX_EXECUTABLE} ${BS_FLEX_OPTIONS} ${PROJECT_SOURCE_DIR}/BansheeSL/BsLexerFX.l
|
|
|
|
|
+ COMMAND ${BISON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/BansheeSL/BsParserFX.y)
|
|
|
|
|
+ execute_process(
|
|
|
|
|
+ COMMAND mv BsLexerFX.h ${PROJECT_SOURCE_DIR}/BansheeSL/Include
|
|
|
|
|
+ COMMAND mv BsLexerFX.c ${PROJECT_SOURCE_DIR}/BansheeSL/Source
|
|
|
|
|
+ COMMAND mv BsParserFX.h ${PROJECT_SOURCE_DIR}/BansheeSL/Include
|
|
|
|
|
+ COMMAND mv BsParserFX.c ${PROJECT_SOURCE_DIR}/BansheeSL/Source)
|
|
|
|
|
+endif()
|
|
|
|
|
|
|
|
# Source files and their filters
|
|
# Source files and their filters
|
|
|
include(CMakeSources.cmake)
|
|
include(CMakeSources.cmake)
|
|
|
|
|
|
|
|
# Includes
|
|
# Includes
|
|
|
-set(BansheeSL_INC
|
|
|
|
|
|
|
+set(BansheeSL_INC
|
|
|
"Include"
|
|
"Include"
|
|
|
- "../BansheeUtility/Include"
|
|
|
|
|
|
|
+ "../BansheeUtility/Include"
|
|
|
"../BansheeCore/Include"
|
|
"../BansheeCore/Include"
|
|
|
"../BansheeEngine/Include")
|
|
"../BansheeEngine/Include")
|
|
|
|
|
|
|
|
-include_directories(${BansheeSL_INC})
|
|
|
|
|
-
|
|
|
|
|
|
|
+include_directories(${BansheeSL_INC})
|
|
|
|
|
+
|
|
|
# Target
|
|
# Target
|
|
|
add_library(BansheeSL SHARED ${BS_BANSHEESL_SRC})
|
|
add_library(BansheeSL SHARED ${BS_BANSHEESL_SRC})
|
|
|
|
|
|
|
@@ -30,7 +33,7 @@ target_compile_definitions(BansheeSL PRIVATE -DBS_SL_EXPORTS)
|
|
|
|
|
|
|
|
# Pre-build step
|
|
# Pre-build step
|
|
|
if(WIN32)
|
|
if(WIN32)
|
|
|
- add_custom_command(TARGET BansheeSL PRE_BUILD
|
|
|
|
|
|
|
+ add_custom_command(TARGET BansheeSL PRE_BUILD
|
|
|
COMMAND ${PROJECT_SOURCE_DIR}/../Dependencies/tools/flex/flex.exe --wincompat ${PROJECT_SOURCE_DIR}/BansheeSL/BsLexerFX.l
|
|
COMMAND ${PROJECT_SOURCE_DIR}/../Dependencies/tools/flex/flex.exe --wincompat ${PROJECT_SOURCE_DIR}/BansheeSL/BsLexerFX.l
|
|
|
COMMAND ${PROJECT_SOURCE_DIR}/../Dependencies/tools/bison/bison.exe ${PROJECT_SOURCE_DIR}/BansheeSL/BsParserFX.y
|
|
COMMAND ${PROJECT_SOURCE_DIR}/../Dependencies/tools/bison/bison.exe ${PROJECT_SOURCE_DIR}/BansheeSL/BsParserFX.y
|
|
|
COMMAND xcopy /Y /I BsLexerFX.h \"${PROJECT_SOURCE_DIR}/BansheeSL/Include\"
|
|
COMMAND xcopy /Y /I BsLexerFX.h \"${PROJECT_SOURCE_DIR}/BansheeSL/Include\"
|
|
@@ -39,8 +42,6 @@ if(WIN32)
|
|
|
COMMAND xcopy /Y /I BsParserFX.c \"${PROJECT_SOURCE_DIR}/BansheeSL/Source\"
|
|
COMMAND xcopy /Y /I BsParserFX.c \"${PROJECT_SOURCE_DIR}/BansheeSL/Source\"
|
|
|
COMMAND del BsLexerFX.h BsLexerFX.c BsParserFX.h BsParserFX.c
|
|
COMMAND del BsLexerFX.h BsLexerFX.c BsParserFX.h BsParserFX.c
|
|
|
COMMENT "Building lexer/parser...")
|
|
COMMENT "Building lexer/parser...")
|
|
|
-else()
|
|
|
|
|
-# TODO_OTHER_PLATFORMS_GO_HERE
|
|
|
|
|
endif()
|
|
endif()
|
|
|
|
|
|
|
|
# Libraries
|
|
# Libraries
|
|
@@ -48,4 +49,4 @@ endif()
|
|
|
target_link_libraries(BansheeSL BansheeEngine BansheeUtility BansheeCore)
|
|
target_link_libraries(BansheeSL BansheeEngine BansheeUtility BansheeCore)
|
|
|
|
|
|
|
|
# IDE specific
|
|
# IDE specific
|
|
|
-set_property(TARGET BansheeSL PROPERTY FOLDER Plugins)
|
|
|
|
|
|
|
+set_property(TARGET BansheeSL PROPERTY FOLDER Plugins)
|