cmake_minimum_required (VERSION 2.8) project (benchmark) find_package(Threads) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/lib) set(CMAKE_CXX_FLAGS "-Wall -Werror --std=c++0x") set(CMAKE_CXX_FLAGS_DEBUG "-g -O0 -DDEBUG") set(CMAKE_CXX_FLAGS_RELEASE "-fno-strict-aliasing -O3 -DNDEBUG") # Set OS if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") add_definitions(-DOS_MACOSX) endif() if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") add_definitions(-DOS_LINUX) endif() if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") add_definitions(-DOS_WINDOWS) endif() # Set CPU if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86") add_definitions(-DARCH_X86) endif() # Set up directories include_directories(${PROJECT_SOURCE_DIR}/include) include_directories(${PROJECT_SOURCE_DIR}/src) link_directories(${PROJECT_SOURCE_DIR}/lib) # Build the targets FILE(GLOB SOURCE_FILES "src/*.cc") add_library(benchmark STATIC ${SOURCE_FILES}) add_executable(benchmark_test test/benchmark_test.cc) target_link_libraries(benchmark_test benchmark ${CMAKE_THREAD_LIBS_INIT})