cmake_minimum_required(VERSION 3.10) project(Generator) # the output name of the plugin message(STATUS "** Building ${PROJECT_NAME} SOP **") if (APPLE) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -stdlib=libc++") endif() set(OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/plugin) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${OUTPUT_DIRECTORY}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_MINSIZEREL ${OUTPUT_DIRECTORY}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELWITHDEBINFO ${OUTPUT_DIRECTORY}) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${OUTPUT_DIRECTORY}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_DIRECTORY}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${OUTPUT_DIRECTORY}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_MINSIZEREL ${OUTPUT_DIRECTORY}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELWITHDEBINFO ${OUTPUT_DIRECTORY}) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${OUTPUT_DIRECTORY}) ### function(BuiltCustomOp OPNAME SRC LINK_LIBRARIES) file(GLOB PROJECT_SRC "*.h" "*.hpp" "*.cpp" ) add_library(${OPNAME} MODULE ${PROJECT_SRC} ${DEP_SRC}) set_target_properties(${OPNAME} PROPERTIES LINKER_LANGUAGE CXX) set_target_properties(${OPNAME} PROPERTIES PREFIX "") set_target_properties(${OPNAME} PROPERTIES BUNDLE TRUE) set_target_properties(${OPNAME} PROPERTIES BUNDLE_EXTENSION "plugin") target_link_libraries(${OPNAME} PRIVATE ${LINK_LIBRARIES}) set(OPTEST ${OPNAME}_TEST) add_custom_target(${OPTEST}) set_target_properties(${OPTEST} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/plugin) set_target_properties(${OPTEST} PROPERTIES VS_DEBUGGER_ENVIRONMENT "TOUCH_TEXT_CONSOLE=1") endfunction(BuiltCustomOp) ### BuiltCustomOp(${PROJECT_NAME} "${PROJECT_NAME}SOP.cpp" "") # the name of the entry file