cmake_minimum_required (VERSION 2.6) #general settings project (ggl_example) set (CMAKE_CONFIGURATION_TYPES Debug;Release CACHE STRING "Semicolon separated list of supported configuration types; only supports Debug, Release, MinSizeRel, and RelWithDebInfo, anything else will be ignored." FORCE) if (WIN32) set(RELEASE_FLAGS /D_SECURE_SCL=0) set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE} ${RELEASE_FLAGS}) set(CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE} ${RELEASE_FLAGS}) set(CMAKE_CXX_FLAGS_MINSIZEREL ${CMAKE_CXX_FLAGS_RELEASE} ${RELEASE_FLAGS}) set(CMAKE_C_FLAGS_MINSIZEREL ${CMAKE_C_FLAGS_RELEASE} ${RELEASE_FLAGS}) set(CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${RELEASE_FLAGS} ) set(CMAKE_C_FLAGS_RELWITHDEBINFO ${CMAKE_C_FLAGS_RELWITHDEBINFO} ${RELEASE_FLAGS}) endif (WIN32) #custom options option (EXAMPLE_GGL "build ggl examples" on) option (EXAMPLE_CUSTOM "build custom examples" on) option (EXAMPLE_ADDITIONAL "build additional examples" off) option (EXAMPLE_SOCI "build soci examples" off) #configure required include paths find_path (BOOST_ROOT_DIR boost C:/nobackup/boost_trunk) include_directories (${CMAKE_CURRENT_SOURCE_DIR}/../../../boost) include_directories (${BOOST_ROOT_DIR}) if (EXAMPLE_SOCI) find_path (SOCI_ROOT_DIR src/core/soci.h ${CMAKE_CURRENT_SOURCE_DIR}/contrib/soci-3.0.0) find_path (POSTGRESQL_ROOT_DIR src/interfaces/libpq/libpq-fe.h C:/nobackup/postgresql-8.4.1) include_directories (${SOCI_ROOT_DIR}/src/core) include_directories (${SOCI_ROOT_DIR}/src/backends/postgresql) include_directories (${POSTGRESQL_ROOT_DIR}/src/include) include_directories (${POSTGRESQL_ROOT_DIR}/src/interfaces/libpq) endif (EXAMPLE_SOCI) #add individual executables if (EXAMPLE_GGL) add_executable (01_point_example 01_point_example.cpp) add_executable (02_linestring_example 02_linestring_example.cpp) add_executable (03_polygon_example 03_polygon_example.cpp) add_executable (06_transformation_example 06_transformation_example.cpp) add_executable (07_graph_route_example 07_graph_route_example.cpp) endif (EXAMPLE_GGL) if (EXAMPLE_CUSTOM) add_executable (c01_custom_point_example c01_custom_point_example.cpp) add_executable (c02_custom_box_example c02_custom_box_example.cpp) add_executable (c03_custom_linestring_example c03_custom_linestring_example.cpp) add_executable (c04_a_custom_triangle_example c04_a_custom_triangle_example.cpp) add_executable (c04_b_custom_triangle_example c04_b_custom_triangle_example.cpp) add_executable (c05_custom_point_pointer_example c05_custom_point_pointer_example.cpp) endif (EXAMPLE_CUSTOM) if (EXAMPLE_ADDITIONAL) add_executable (x01_qt_example x01_qt_example.cpp) add_executable (x02_numeric_adaptor_example x02_numeric_adaptor_example.cpp) endif (EXAMPLE_ADDITIONAL) if (EXAMPLE_SOCI) add_executable (x03_a_soci_example x03_a_soci_example.cpp) add_executable (x03_b_soci_example x03_b_soci_example.cpp) add_executable (x03_c_soci_example x03_c_soci_example.cpp) add_executable (x03_d_soci_example x03_d_soci_example.cpp) endif (EXAMPLE_SOCI)