aboutsummaryrefslogtreecommitdiff
path: root/src/apps/bin_proj.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'src/apps/bin_proj.cmake')
-rw-r--r--src/apps/bin_proj.cmake46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/apps/bin_proj.cmake b/src/apps/bin_proj.cmake
new file mode 100644
index 00000000..86232f59
--- /dev/null
+++ b/src/apps/bin_proj.cmake
@@ -0,0 +1,46 @@
+set(PROJ_SRC
+ proj.cpp
+ emess.cpp
+ utils.cpp
+)
+
+source_group("Source Files\\Bin" FILES ${PROJ_SRC})
+
+add_executable(binproj ${PROJ_SRC})
+set_target_properties(binproj
+ PROPERTIES
+ RUNTIME_OUTPUT_NAME proj)
+target_link_libraries(binproj PRIVATE ${PROJ_LIBRARIES})
+
+install(TARGETS binproj
+ DESTINATION ${BINDIR})
+
+# invproj target: symlink or copy of proj executable
+
+if(UNIX)
+
+ set(link_target "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/invproj${CMAKE_EXECUTABLE_SUFFIX}")
+ set(link_source "proj${CMAKE_EXECUTABLE_SUFFIX}")
+
+ add_custom_command(
+ OUTPUT ${link_target}
+ COMMAND ${CMAKE_COMMAND} -E create_symlink ${link_source} ${link_target}
+ WORKING_DIRECTORY "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}"
+ DEPENDS binproj
+ COMMENT "Generating invproj"
+ VERBATIM
+ )
+
+ add_custom_target(invproj ALL DEPENDS ${link_target})
+
+ install(FILES ${link_target} DESTINATION ${BINDIR})
+
+else()
+
+ add_executable(invproj ${PROJ_SRC})
+ target_link_libraries(invproj PRIVATE ${PROJ_LIBRARIES})
+
+ install(TARGETS invproj
+ DESTINATION ${BINDIR})
+
+endif()