CMakeLists.txt 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. cmake_minimum_required(VERSION 3.2)
  2. project(tools)
  3. include_directories(${util_SOURCE_DIR}/include)
  4. link_libraries(tarsutil)
  5. function(tars2language TARGET)
  6. set(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/bin")
  7. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
  8. foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES})
  9. string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG)
  10. set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/bin)
  11. endforeach()
  12. include_directories(${PROJECT_SOURCE_DIR}/tarsparse)
  13. aux_source_directory(. DIR_SRCS)
  14. link_libraries(tarsparse)
  15. add_executable(${TARGET} ${DIR_SRCS})
  16. install(TARGETS ${TARGET}
  17. RUNTIME DESTINATION tools)
  18. endfunction()
  19. IF(UNIX)
  20. add_subdirectory(tarsgrammar)
  21. ENDIF(UNIX)
  22. add_subdirectory(tarsparse)
  23. add_subdirectory(tarsmerge)
  24. add_subdirectory(tars2cpp)
  25. add_subdirectory(tars2python)
  26. add_subdirectory(tars2cs)
  27. add_subdirectory(tars2c)
  28. add_subdirectory(tars2oc)
  29. add_subdirectory(tars2php)
  30. add_subdirectory(tars2android)
  31. add_subdirectory(tars2node)
  32. add_subdirectory(tars2case)
  33. IF(TARS_PROTOBUF)
  34. add_subdirectory(pb2tarscpp)
  35. ENDIF()