summaryrefslogtreecommitdiff
path: root/app/bin/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'app/bin/CMakeLists.txt')
-rw-r--r--app/bin/CMakeLists.txt181
1 files changed, 181 insertions, 0 deletions
diff --git a/app/bin/CMakeLists.txt b/app/bin/CMakeLists.txt
new file mode 100644
index 0000000..59aa496
--- /dev/null
+++ b/app/bin/CMakeLists.txt
@@ -0,0 +1,181 @@
+ADD_EXECUTABLE(cnvdsgn cnvdsgn.c utility.c)
+GET_TARGET_PROPERTY(cnvdsgn_EXE cnvdsgn LOCATION)
+IF(NOT WIN32)
+ TARGET_LINK_LIBRARIES(cnvdsgn m)
+ENDIF(NOT WIN32)
+
+MACRO(GENERATE_LIN lin_name)
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${lin_name}.lin
+ DEPENDS cnvdsgn ${CMAKE_CURRENT_SOURCE_DIR}/${lin_name}.src
+ COMMAND ${cnvdsgn_EXE} < ${CMAKE_CURRENT_SOURCE_DIR}/${lin_name}.src > ${CMAKE_CURRENT_BINARY_DIR}/${lin_name}.lin
+ )
+ENDMACRO(GENERATE_LIN)
+
+GENERATE_LIN(to3way)
+GENERATE_LIN(tocrv)
+GENERATE_LIN(tocrvsct)
+GENERATE_LIN(todcross)
+GENERATE_LIN(todslip)
+GENERATE_LIN(tolcross)
+GENERATE_LIN(torcross)
+GENERATE_LIN(toreg)
+GENERATE_LIN(tosslip)
+GENERATE_LIN(tostrsct)
+GENERATE_LIN(towye)
+GENERATE_LIN(toxing)
+
+SET(LIN_SOURCES
+ ${CMAKE_CURRENT_BINARY_DIR}/to3way.lin
+ ${CMAKE_CURRENT_BINARY_DIR}/tocrv.lin
+ ${CMAKE_CURRENT_BINARY_DIR}/tocrvsct.lin
+ ${CMAKE_CURRENT_BINARY_DIR}/todcross.lin
+ ${CMAKE_CURRENT_BINARY_DIR}/todslip.lin
+ ${CMAKE_CURRENT_BINARY_DIR}/tolcross.lin
+ ${CMAKE_CURRENT_BINARY_DIR}/torcross.lin
+ ${CMAKE_CURRENT_BINARY_DIR}/toreg.lin
+ ${CMAKE_CURRENT_BINARY_DIR}/tosslip.lin
+ ${CMAKE_CURRENT_BINARY_DIR}/tostrsct.lin
+ ${CMAKE_CURRENT_BINARY_DIR}/towye.lin
+ ${CMAKE_CURRENT_BINARY_DIR}/toxing.lin
+ )
+
+GET_TARGET_PROPERTY(genhelp_EXE genhelp LOCATION)
+
+IF(XTRKCAD_USE_GETTEXT)
+ SET(GENHELP_OPTS "-bhi")
+ #
+ # Find the GnuWin32 installation directory, the gettext include should be located in subdir include
+ #
+ IF(WIN32)
+ ADD_DEFINITIONS(-DUSE_SIMPLE_GETTEXT )
+ ENDIF(WIN32)
+ELSE(XTRKCAD_USE_GETTEXT)
+ SET(GENHELP_OPTS "-bh")
+ENDIF(XTRKCAD_USE_GETTEXT)
+
+ADD_CUSTOM_COMMAND(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/bllnhlp.c
+ DEPENDS genhelp ${help_SOURCE_DIR}/genhelp.in
+ COMMAND ${genhelp_EXE} ${GENHELP_OPTS} ${help_SOURCE_DIR}/genhelp.in ${CMAKE_CURRENT_BINARY_DIR}/bllnhlp.c
+ )
+
+SET(SOURCES
+ ${LIN_SOURCES}
+ bllnhlp.c
+ ccurve.c
+ cdraw.c
+ celev.c
+ cgroup.c
+ chndldto.c
+ chotbar.c
+ cjoin.c
+ cmisc.c
+ cmodify.c
+ cnote.c
+ compound.c
+ cparalle.c
+ cprint.c
+ cprofile.c
+ cpull.c
+ cruler.c
+ cselect.c
+ csnap.c
+ csplit.c
+ cstraigh.c
+ cstruct.c
+ ctext.c
+ ctodesgn.c
+ ctrain.c
+ cturnout.c
+ cturntbl.c
+ cundo.c
+ custom.c
+ dbench.c
+ dbitmap.c
+ dcar.c
+ dcmpnd.c
+ dcustmgm.c
+ dease.c
+ denum.c
+ dlayer.c
+ doption.c
+ dpricels.c
+ dprmfile.c
+ draw.c
+ drawgeom.c
+ elev.c
+ fileio.c
+ i18n.c
+ lprintf.c
+ macro.c
+ misc2.c
+ param.c
+ shrtpath.c
+ smalldlg.c
+ tcurve.c
+ tease.c
+ track.c
+ trkseg.c
+ tstraigh.c
+ utility.c
+ )
+
+IF(XTRKCAD_USE_LAYOUTCONTROL)
+ SET(SOURCES
+ ${SOURCES}
+ cblock.c
+ cswitchmotor.c
+ )
+ENDIF(XTRKCAD_USE_LAYOUTCONTROL)
+
+INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
+INCLUDE_DIRECTORIES(${XTrkCAD_BINARY_DIR})
+INCLUDE_DIRECTORIES(${help_BINARY_DIR})
+INCLUDE_DIRECTORIES(${wlib_SOURCE_DIR}/include)
+
+# find libintl.h and use it
+find_path ( INTL_PATH libintl.h )
+if(INTL_PATH)
+ INCLUDE_DIRECTORIES(${INTL_PATH})
+endif(INTL_PATH)
+
+LINK_DIRECTORIES(${GTK_LIBRARY_DIRS})
+LINK_DIRECTORIES(${GTK_WEBKIT_LIBRARY_DIRS})
+
+ADD_LIBRARY(xtrkcad-lib ${SOURCES})
+
+# This ensures that messages.h has been generated before we build xtrkcad-lib
+ADD_DEPENDENCIES(xtrkcad-lib Help)
+
+ADD_EXECUTABLE(xtrkcad WIN32
+ misc.c
+ xtrkcad.rc
+ )
+TARGET_LINK_LIBRARIES(xtrkcad xtrkcad-lib)
+TARGET_LINK_LIBRARIES(xtrkcad xtrkcad-wlib)
+
+ADD_EXECUTABLE(mkturnout
+ ${LIN_SOURCES}
+ ctodesgn.c
+ utility.c
+ )
+SET_TARGET_PROPERTIES(mkturnout PROPERTIES COMPILE_FLAGS -DMKTURNOUT)
+
+IF(NOT WIN32)
+ TARGET_LINK_LIBRARIES(mkturnout m)
+ TARGET_LINK_LIBRARIES(xtrkcad m)
+
+ # Link libintl for systems where it is a separate library
+ find_library( INTL_LIBRARY intl )
+ if(INTL_LIBRARY)
+ target_link_libraries( mkturnout ${INTL_LIBRARY} )
+ endif(INTL_LIBRARY)
+ELSE(NOT WIN32)
+ TARGET_LINK_LIBRARIES(mkturnout xtrkcad-wlib)
+ENDIF(NOT WIN32)
+
+INSTALL(
+ TARGETS xtrkcad
+ RUNTIME DESTINATION ${XTRKCAD_BIN_INSTALL_DIR}
+ )