view CMakeLists.txt @ 64:b9515dc35fe4

Make sure no file has greater linewidth than 80.
author Tom Fredrik Blenning Klaussen <bfg@blenning.no>
date Fri, 14 Sep 2012 22:50:45 +0200
parents ef429402e03b
children 2f45385195ae
line wrap: on
line source

PROJECT(DeDupe)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6.4)

#INCLUDE(PrecompiledHeader.cmake)

MACRO(NEW_TEST file)
  ADD_EXECUTABLE(${file} ${file}.cpp ${TEST_SOURCES})
  ADD_TEST(${file} ${file})
  TARGET_LINK_LIBRARIES(${file} ${QT_LIBRARIES} ${Boost_LIBRARIES})
ENDMACRO()

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})

INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR})


SET(CLASS_SOURCES
	BitArray.cpp
	BitDecoder.cpp
	ConfigurationProcessing.cpp
	DataController.cpp
	EditDistance.cpp
	Exception/IOException.cpp
	Exception/SQLException.cpp
	FastBitDecoder.cpp
	FileDBLink.cpp
	HuffmanSet.cpp
	HuffmanString.cpp
	MemoryDBLink.cpp
	SqliteDBLink.cpp
	UniqueString.cpp
)

SET(CLASS_HEADERS
	BitArray.hpp
	BitDecoder.hpp
	ConfigurationProcessing.hpp
	DataController.hpp
	EditDistance.hpp
	Exception/IOException.hpp
	FastBitDecoder.hpp
	FileDBLink.hpp
	MemoryDBLink.hpp
	RBTree.hpp
	SqliteDBLink.hpp
	UniqueString.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_HEADERS}
	${CLASS_SOURCES}
	${MOC_SOURCES}
)

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



SET(CMAKE_CXX_FLAGS "-O3 -Wall")
#SET(CMAKE_CXX_FLAGS "-g2 -Wall -fno-inline")

ADD_EXECUTABLE(DeDupe Apps/DeDupe.cpp ${SOURCES} ${MOC_SOURCES})
TARGET_LINK_LIBRARIES(
	DeDupe
	${QT_LIBRARIES}
	${SQLITE3_LIBRARIES}
	${Boost_LIBRARIES}
)

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

ENABLE_TESTING()
NEW_TEST(TestBitArray)
NEW_TEST(TestBitDecoder)
NEW_TEST(TestDBCache)
NEW_TEST(TestEditDistance)
NEW_TEST(TestFastBitDecoder)
NEW_TEST(TestHuffmanString)
NEW_TEST(TestRBTree)
NEW_TEST(TestSqliteDBLink)

#ADD_PRECOMPILED_HEADER(TestEditDistance TestFramework.hpp)