view CMakeLists.txt @ 25:9ce5b5855fe3

Support for profiling, and some new tests.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Wed, 05 Sep 2012 21:57:17 +0200
parents 06166d6c083b
children 95a10553ff90
line wrap: on
line source

PROJECT(DeDupe)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)

INCLUDE(PrecompiledHeader.cmake)

SET(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMake_Modules/")

SET(Boost_USE_STATIC_LIBS OFF)
SET(Boost_USE_MULTITHREADED ON) 
SET(Boost_USE_STATIC_RUNTIME OFF)
FIND_PACKAGE(Boost COMPONENTS filesystem system)
IF (Boost_FOUND)
    INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
    ADD_DEFINITIONS( "-DHAS_BOOST" )
ENDIF()


FIND_PACKAGE(Qt4 COMPONENTS QtOpenGL QtXml QtSql REQUIRED)

FIND_PACKAGE(Sqlite3 REQUIRED)

INCLUDE(${QT_USE_FILE})
ADD_DEFINITIONS(${QT_DEFINITIONS})


SET(CLASS_SOURCES
	DataController.cpp
	HuffmanString.cpp
	HuffmanSet.cpp
	EditDistance.cpp
	IOException.cpp
	FileDBLink.cpp
	SqliteDBLink.cpp
	MemoryDBLink.cpp
	ConfigurationProcessing.cpp
	UniqueString.cpp
)

SET(CLASS_HEADERS
	DataController.hpp
	EditDistance.hpp
	IOException.hpp
	FileDBLink.hpp
	SqliteDBLink.hpp
	MemoryDBLink.hpp
	ConfigurationProcessing.hpp
	UniqueString.hpp
	RBTree.hpp
)

SET(MOC_HEADERS
	DataController.hpp
)

# Returns the moc_xxx.cpp files in the foo_MOC_SRCS variable
QT4_WRAP_CPP(MOC_SOURCES ${MOC_HEADERS})

SET(SOURCES
	${CLASS_SOURCES}
	${CLASS_HEADERS}
	${MOC_SOURCES}
)

SET(TEST_SOURCES
	${CLASS_SOURCES}
	${MOC_SOURCES}
	TestFramework.cpp
)



SET(CMAKE_CXX_FLAGS "-g2 -pg -Wall -fno-inline")
ADD_EXECUTABLE(DeDupe DeDupe.cpp ${SOURCES} ${MOC_SOURCES})
TARGET_LINK_LIBRARIES(DeDupe ${QT_LIBRARIES} ${SQLITE3_LIBRARIES} ${Boost_LIBRARIES})

ADD_EXECUTABLE(updateDeDupe updateDeDupe.cpp ${SOURCES} ${MOC_SOURCES})
TARGET_LINK_LIBRARIES(updateDeDupe ${QT_LIBRARIES} ${SQLITE3_LIBRARIES} ${Boost_LIBRARIES})

ENABLE_TESTING()

ADD_EXECUTABLE(TestEditDistance TestEditDistance.cpp ${TEST_SOURCES})
ADD_TEST(TestEditDistance TestEditDistance)
TARGET_LINK_LIBRARIES(TestEditDistance ${QT_LIBRARIES} ${Boost_LIBRARIES})

#ADD_EXECUTABLE(TestDBCache TestDBCache.cpp ${TEST_SOURCES})
ADD_EXECUTABLE(TestDBCache TestDBCache.cpp)
ADD_TEST(TestDBCache TestDBCache)
TARGET_LINK_LIBRARIES(TestDBCache ${QT_LIBRARIES} ${Boost_LIBRARIES})

ADD_EXECUTABLE(TestSqliteDBLink TestSqliteDBLink.cpp ${TEST_SOURCES})
ADD_TEST(TestSqliteDBLink TestSqliteDBLink)
TARGET_LINK_LIBRARIES(TestSqliteDBLink ${QT_LIBRARIES} ${Boost_LIBRARIES} )

ADD_EXECUTABLE(TestRBTree TestRBTree.cpp ${TEST_SOURCES})
ADD_TEST(TestRBTree TestRBTree)
TARGET_LINK_LIBRARIES(TestRBTree ${QT_LIBRARIES} ${Boost_LIBRARIES} )

ADD_EXECUTABLE(TestHuffmanString TestHuffmanString.cpp ${TEST_SOURCES})
ADD_TEST(TestHuffmanString TestHuffmanString)
TARGET_LINK_LIBRARIES(TestHuffmanString ${QT_LIBRARIES} ${Boost_LIBRARIES} )

ADD_EXECUTABLE(TestBitDecoder TestBitDecoder.cpp ${TEST_SOURCES})
ADD_TEST(TestBitDecoder TestBitDecoder)
TARGET_LINK_LIBRARIES(TestBitDecoder ${QT_LIBRARIES} ${Boost_LIBRARIES} )

#ADD_PRECOMPILED_HEADER(TestEditDistance TestFramework.hpp)