summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGulliver <gulliver@fargonauten.de>2014-09-10 14:08:44 +0200
committerGulliver <gulliver@fargonauten.de>2014-09-10 14:08:44 +0200
commit358925ec028bcdb312616ffebf427eda595896cd (patch)
tree142ca7a96eef0f3bc95a3d165292563a55b9d852
parent81de8a753da76566a52a1c8dd80e4d3784e78567 (diff)
added initial version of cmake build-files
-rw-r--r--CMakeLists.txt114
-rw-r--r--config.h.cmake138
-rw-r--r--release_it.bat31
-rw-r--r--src/CMakeLists.txt34
4 files changed, 317 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..ae057c2
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,114 @@
+project(stmd)
+cmake_minimum_required(VERSION 2.8)
+
+set(PROJECT_NAME "stmd")
+
+set(PROJECT_VERSION_MAJOR 0)
+set(PROJECT_VERSION_MINOR 0)
+set(PROJECT_VERSION_PATCH 1)
+set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH} )
+
+include (CheckIncludeFile)
+CHECK_INCLUDE_FILE (stdbool.h HAVE_STDBOOL_H)
+
+#option(${PROJECT_NAME}_WITH_DOCS "generate Documentation" OFF)
+#option(${PROJECT_NAME}_WITH_TESTS "enable testing" ON)
+option(CMAKE_SUPPRESS_REGENERATION "suppress rules to re-run cmake on changes (warning: no dependency checks!)?" OFF)
+
+if (MSVC)
+ option(PROJECT_LINK_MSVC_MT "link with /MT instead of /MD (use msvc runtime dlls versus static linked)" ON)
+ # see http://msdn.microsoft.com/en-us/library/2kzt1wy3%28VS.71%29.aspx
+ if (PROJECT_LINK_MSVC_MT)
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
+ set(CMAKE_C_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
+ set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
+ set(CMAKE_C_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
+ endif (PROJECT_LINK_MSVC_MT)
+
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /INCREMENTAL:NO")
+ set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /W4")
+ set(CMAKE_C_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /W4")
+
+ set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS _CRT_SECURE_NO_WARNINGS UNICODE)
+ set(CMAKE_FIND_LIBRARY_PREFIXES "")
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
+ set(CMAKE_STATIC_LIBRARY_PREFIX "lib")
+ set(CMAKE_STATIC_LIBRARY_SUFFIX ".lib")
+ set(CMAKE_SHARED_LIBRARY_PREFIX "") # lib
+ set(CMAKE_SHARED_LIBRARY_SUFFIX ".dll") # .so
+ set(CMAKE_IMPORT_LIBRARY_PREFIX "")
+ set(CMAKE_IMPORT_LIBRARY_SUFFIX ".lib")
+ set(CMAKE_EXECUTABLE_SUFFIX ".exe") # .exe
+ set(CMAKE_LINK_LIBRARY_SUFFIX ".lib")
+ set(CMAKE_DL_LIBS "")
+ set(CMAKE_DEBUG_POSTFIX "d")
+ add_definitions(-DUNICODE -D_UNICODE)
+else(MSVC)
+ list(APPEND CMAKE_CXX_FLAGS "-Wall -Wunused-variable -Wno-long-long")
+ #-pedantic
+ list(APPEND CMAKE_C_FLAGS "-Wall -Wunused-variable -Wno-long-long")
+endif(MSVC)
+
+# create config.h
+configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
+ ${CMAKE_CURRENT_BINARY_DIR}/config.h)
+
+# set include directories
+get_filename_component(CONFIG_INCLUDE ${CMAKE_CURRENT_BINARY_DIR}/config.h PATH)
+include_directories(include ${CONFIG_INCLUDE})
+
+install(DIRECTORY include DESTINATION .
+ COMPONENT devel
+ FILES_MATCHING PATTERN "*.h"
+ PATTERN .svn EXCLUDE
+ )
+install(FILES ${CMAKE_CURRENT_BINARY_DIR}/config.h
+ DESTINATION include/${PROJECT_NAME}
+ COMPONENT devel)
+
+add_subdirectory(src)
+
+include(InstallRequiredSystemLibraries)
+
+set(CPACK_GENERATOR TGZ ZIP)
+if(WIN32 AND NOT CYGWIN)
+ set(CPACK_GENERATOR NSIS ${CPACK_GENERATOR})
+endif(WIN32 AND NOT CYGWIN)
+if(APPLE)
+ set(CPACK_GENERATOR DragNDrop ${CPACK_GENERATOR})
+endif(APPLE)
+if (UNIX AND NOT APPLE AND NOT WIN32)
+ set(CPACK_GENERATOR DEB ${CPACK_GENERATOR})
+endif (UNIX AND NOT APPLE AND NOT WIN32)
+
+set(CPACK_SOURCE_PACKAGE_FILE_NAME ${PROJECT_NAME}-src-${PROJECT_VERSION})
+set(CPACK_SOURCE_GENERATOR TGZ ZIP)
+set(CPACK_PACKAGE_CONTACT gulliver@users.sourceforge.net)
+set(CPACK_PACKAGE_DESCRIPTION_SUMMARY ${PROJECT_NAME})
+set(CPACK_PACKAGE_VENDOR "${PROJECT_NAME} Development Team")
+set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.md")
+set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
+set(CPACK_PACKAGE_VERSION_MAJOR "${PROJECT_VERSION_MAJOR}")
+set(CPACK_PACKAGE_VERSION_MINOR "${PROJECT_VERSION_MINOR}")
+set(CPACK_PACKAGE_VERSION_PATCH "${PROJECT_VERSION_PATCH}")
+set(CPACK_SOURCE_IGNORE_FILES "/docs/html;/autom4te.cache;/build/;/win32/;/.svn/;~$;${CPACK_SOURCE_IGNORE_FILES}")
+
+if(WIN32 AND NOT UNIX)
+ set(CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME}\\\\${PROJECT_VERSION}")
+ # There is a bug in NSI that does not handle full unix paths properly. Make
+ # sure there is at least one set of four (4) backlasshes.
+ # set(CPACK_PACKAGE_ICON "${CMake_SOURCE_DIR}/Utilities/Release\\\\InstallIcon.bmp")
+ set(CPACK_NSIS_INSTALLED_ICON_NAME "bin\\\\${PROJECT_NAME}.exe")
+ set(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} ${PROJECT_NAME}")
+ set(CPACK_NSIS_HELP_LINK "http://softwareschmied.net/")
+ set(CPACK_NSIS_URL_INFO_ABOUT "http://softwareschmied.net/")
+ set(CPACK_NSIS_CONTACT "gulliver@softwareschmied.net")
+ set(CPACK_NSIS_MODIFY_PATH ON)
+ set(CPACK_NSIS_MENU_LINKS "doc/html/index.html;Documentation")
+else(WIN32 AND NOT UNIX)
+ set(CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME}/${PROJECT_VERSION}")
+ set(CPACK_STRIP_FILES "bin/${PROJECT_NAME}")
+ set(CPACK_SOURCE_STRIP_FILES "")
+endif(WIN32 AND NOT UNIX)
+set(CPACK_PACKAGE_EXECUTABLES ${PROJECT_NAME};${PROJECT_NAME})
+include(CPack)
diff --git a/config.h.cmake b/config.h.cmake
new file mode 100644
index 0000000..263010a
--- /dev/null
+++ b/config.h.cmake
@@ -0,0 +1,138 @@
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define to 1 if you have the `atof' function. */
+#cmakedefine HAVE_ATOF
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#cmakedefine HAVE_DLFCN_H
+
+/* Define to 1 if you have the `gettimeofday' function. */
+#cmakedefine HAVE_GETTIMEOFDAY
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#cmakedefine HAVE_INTTYPES_H
+
+/* Define to 1 if you have the 'mysqlclient' library (-lmysqlclient). */
+#cmakedefine HAVE_LIBMYSQLCLIENT
+
+/* Define to 1 if you have the `pq' library (-lpq). */
+#cmakedefine HAVE_LIBPQ
+
+/* Define to 1 if you have the `sqlite3' library (-lsqlite3). */
+#cmakedefine HAVE_LIBSQLITE3
+
+/* Define to 1 if you have the `localtime_r' function. */
+#cmakedefine HAVE_LOCALTIME_R
+
+/* Define to 1 if your system has a GNU libc compatible `malloc' function, and
+ to 0 otherwise. */
+#cmakedefine HAVE_MALLOC
+
+/* Define to 1 if you have the <memory.h> header file. */
+#cmakedefine HAVE_MEMORY_H
+
+/* Define to 1 if you have the `memset' function. */
+#cmakedefine HAVE_MEMSET
+
+/* Define to 1 if you have the `mktime' function. */
+#cmakedefine HAVE_MKTIME
+
+/* Define to 1 if your system has a GNU libc compatible `realloc' function,
+ and to 0 otherwise. */
+#cmakedefine HAVE_REALLOC
+
+/* Define to 1 if stdbool.h conforms to C99. */
+#cmakedefine HAVE_STDBOOL_H
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#cmakedefine HAVE_STDINT_H
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#cmakedefine HAVE_STDLIB_H
+
+/* Define to 1 if you have the `strchr' function. */
+#cmakedefine HAVE_STRCHR
+
+/* Define to 1 if you have the `strdup' function. */
+#cmakedefine HAVE_STRDUP
+
+/* Define to 1 if you have the <strings.h> header file. */
+#cmakedefine HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#cmakedefine HAVE_STRING_H
+
+/* Define to 1 if you have the `strrchr' function. */
+#cmakedefine HAVE_STRRCHR
+
+/* Define to 1 if you have the `strstr' function. */
+#cmakedefine HAVE_STRSTR
+
+/* Define to 1 if you have the `strtof' function. */
+#cmakedefine HAVE_STRTOF
+
+/* Define to 1 if you have the `strtol' function. */
+#cmakedefine HAVE_STRTOL
+
+/* Define to 1 if you have the `strtoll' function. */
+#cmakedefine HAVE_STRTOLL
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#cmakedefine HAVE_SYS_STAT_H
+
+/* Define to 1 if you have the <sys/time.h> header file. */
+#cmakedefine HAVE_SYS_TIME_H
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#cmakedefine HAVE_SYS_TYPES_H
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#cmakedefine HAVE_UNISTD_H
+
+/* Define to 1 if the system has the type `_Bool'. */
+#cmakedefine HAVE__BOOL
+
+/* Name of package */
+#cmakedefine PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#cmakedefine PACKAGE_BUGREPORT
+
+/* Define to the full name of this package. */
+#cmakedefine PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#cmakedefine PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#cmakedefine PACKAGE_TARNAME
+
+/* Define to the version of this package. */
+#cmakedefine PACKAGE_VERSION
+
+/* Define to 1 if you have the ANSI C header files. */
+#cmakedefine STDC_HEADERS
+
+/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
+#cmakedefine TIME_WITH_SYS_TIME
+
+/* Version number of package */
+#cmakedefine VERSION
+
+/* Define to empty if `const' does not conform to ANSI C. */
+#cmakedefine const
+
+/* Define to `__inline__' or `__inline' if that's what the C compiler
+ calls it, or to nothing if 'inline' is not supported under any name. */
+#ifndef __cplusplus
+#undef inline
+#endif
+
+/* Define to rpl_malloc if the replacement function should be used. */
+#cmakedefine malloc
+
+/* Define to rpl_realloc if the replacement function should be used. */
+#cmakedefine realloc
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+#cmakedefine size_t
diff --git a/release_it.bat b/release_it.bat
new file mode 100644
index 0000000..3ab2837
--- /dev/null
+++ b/release_it.bat
@@ -0,0 +1,31 @@
+
+set PATH=%PATH%;C:\Program Files (x86)\CMake 2.8\bin
+
+set CMAKE_BUILDDIR=build\vc
+set STARTDIR=%CD%
+
+@if NOT "%VS100COMNTOOLS%"=="" (call "%VS100COMNTOOLS%\vsvars32.bat" & goto VS_END)
+@if NOT "%VS90COMNTOOLS%"=="" (call "%VS90COMNTOOLS%\vsvars32.bat" & goto VS_END)
+@if NOT "%VS80COMNTOOLS%"=="" (call "%VS80COMNTOOLS%\vsvars32.bat" & goto VS_END)
+@if NOT "%VS71COMNTOOLS%"=="" (call "%VS71COMNTOOLS%\vsvars32.bat" & goto VS_END)
+
+:VS_END
+
+cd %STARTDIR%
+
+set CMAKE_BUILDDIR=build\vc
+mkdir %CMAKE_BUILDDIR%
+
+cd %CMAKE_BUILDDIR%
+
+del CMakeCache.txt
+
+cmake -D STMD_MSVC_MT:BOOL=OFF %STARTDIR%
+rem -D stmd_DOCS:bool=ON -D stmd_WITH_TESTS:bool=ON -DCXXTEST_INCLUDE_DIR=%STARTDIR%\3rdparty\cxxtest -DCXXTEST_PYTHON_TESTGEN_EXECUTABLE=%STARTDIR%\3rdparty\cxxtest\bin\cxxtestgen
+cpack --config CPackSourceConfig.cmake
+cd %STARTDIR%
+cmake --build %CMAKE_BUILDDIR% --target all --target test --target package
+rem --target package_source
+
+
+pause
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 0000000..c454eca
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,34 @@
+set(PROGRAM_stmd "stmd")
+set(PROGRAM_stmd_SOURCES blocks.c
+inlines.c
+main.c
+debug.h
+detab.c
+bstrlib.c
+bstrlib.h
+getopt.c
+html.c
+
+
+print.c
+scanners.h
+scanners.re
+stmd.h
+utf8.c
+utf8.h
+uthash.h
+)
+
+add_executable(${PROGRAM_stmd}
+ ${PROGRAM_stmd_SOURCES})
+
+if (MSVC)
+set_property(TARGET ${PROGRAM_chronolog}
+ APPEND PROPERTY LINK_FLAGS /INCREMENTAL:NO)
+target_link_libraries(${PROGRAM_chronolog} gdiplus.lib)
+endif(MSVC)
+install(TARGETS ${PROGRAM_chronolog}
+RUNTIME DESTINATION bin
+BUNDLE DESTINATION Applications)
+
+