Skip to content
Snippets Groups Projects
Select Git revision
  • 4682bc3a0634c883e9859a2429fcfd6b09fd20d5
  • master default protected
  • fix-words-ann
  • wccl-rules-migration
  • develop
5 results

CMakeLists.txt

Blame
  • user avatar
    ilor authored
    a3d5ae74
    History
    CMakeLists.txt 2.01 KiB
    PROJECT(WCCL)
    cmake_minimum_required(VERSION 2.8.0)
    
    set(ver_major "0")
    set(ver_minor "0")
    set(ver_patch "1")
    
    # use some of our own Find* scripts
    set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/CMakeScripts)
    
    IF(NOT CMAKE_BUILD_TYPE)
    	SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
    		"Choose the type of build, options are: None Debug Release
    		RelWithDebInfo MinSizeRel."
    		FORCE)
    ENDIF(NOT CMAKE_BUILD_TYPE)
    
    
    if(CMAKE_COMPILER_IS_GNUCXX)
    	# Set our own default flags at first run.
    	if(NOT CONFIGURED)
    		if(ENABLE_STRICT_COMPILATION)
    			set(STRICT_FLAGS "-Werror -Wno-unused-parameter")
    		else(ENABLE_STRICT_COMPILATION)
    			set(STRICT_FLAGS "")
    		endif(ENABLE_STRICT_COMPILATION)
    
    		set(CMAKE_C_FLAGS "-W -Wall -ansi $ENV{CFLAGS}" 
    			CACHE STRING "Flags used by the C compiler during normal builds."
    			FORCE)
    		set(CMAKE_C_FLAGS_DEBUG "-O0 -DDEBUG -ggdb3 -W -Wall -ansi $ENV{CFLAGS}"
    			CACHE STRING "Flags used by the C compiler during debug builds."
    			FORCE)
    
    		set(CMAKE_CXX_FLAGS "-W -Wall -ansi ${STRICT_FLAGS} $ENV{CXXFLAGS}"
    			CACHE STRING "Flags used by the CXX compiler during normal builds."
    			FORCE)
    		set(CMAKE_CXX_FLAGS_DEBUG "-O0 -DDEBUG -ggdb3 -W -Wall -ansi ${STRICT_FLAGS} $ENV{CXXFLAGS}"
    			CACHE STRING "Flags used by the CXX compiler during debug builds."
    			FORCE)
    	endif(NOT CONFIGURED)
    endif(CMAKE_COMPILER_IS_GNUCXX)
    
    set(LIBS "")
    include_directories(${WCCL_SOURCE_DIR})
    
    set(LIBWCCL_VERSION "${ver_major}.${ver_minor}.${ver_patch}")
    
    find_package(Boost 1.41 REQUIRED COMPONENTS program_options system filesystem regex)
    
    if(MSVC OR BORLAND)
    # Use the auto-linking feature, don't try to add libraries yourself:
    	set(Boost_LIBRARIES "")
    # Note the default is to link static libs and it is left like that here.
    # You can make it link to DLL by defining BOOST_#module#_DYN_LINK
    # in C++ source file or somewhere in CMake file, e.g. 
    # add_definitions( -DBOOST_FILESYSTEM_DYN_LINK )
    endif(MSVC OR BORLAND)
    
    add_subdirectory(libwccl)
    add_subdirectory(wcclparser)
    add_subdirectory(wcclrun)
    add_subdirectory(wcclrules)
    add_subdirectory(tests)