aboutsummaryrefslogtreecommitdiff
path: root/src/apps/bin_geod.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'src/apps/bin_geod.cmake')
-rw-r--r--src/apps/bin_geod.cmake45
1 files changed, 45 insertions, 0 deletions
diff --git a/src/apps/bin_geod.cmake b/src/apps/bin_geod.cmake
new file mode 100644
index 00000000..4fa41977
--- /dev/null
+++ b/src/apps/bin_geod.cmake
@@ -0,0 +1,45 @@
+set(GEOD_SRC
+ geod.cpp
+ geod_set.cpp
+ geod_interface.cpp
+ emess.cpp
+)
+set(GEOD_INCLUDE geod_interface.h)
+
+source_group("Source Files\\Bin" FILES ${GEOD_SRC} ${GEOD_INCLUDE})
+
+add_executable(geod ${GEOD_SRC} ${GEOD_INCLUDE})
+target_link_libraries(geod PRIVATE ${PROJ_LIBRARIES})
+
+install(TARGETS geod
+ DESTINATION ${BINDIR})
+
+# invgeod target: symlink or copy of geod executable
+
+if(UNIX)
+
+ set(link_target "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/invgeod${CMAKE_EXECUTABLE_SUFFIX}")
+ set(link_source "geod${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 geod
+ COMMENT "Generating invgeod"
+ VERBATIM
+ )
+
+ add_custom_target(invgeod ALL DEPENDS ${link_target})
+
+ install(FILES ${link_target} DESTINATION ${BINDIR})
+
+else()
+
+ add_executable(invgeod ${GEOD_SRC} ${GEOD_INCLUDE})
+ target_link_libraries(invgeod PRIVATE ${PROJ_LIBRARIES})
+
+ install(TARGETS invgeod
+ DESTINATION ${BINDIR})
+
+endif()