-
Notifications
You must be signed in to change notification settings - Fork 0
/
CMakeLists.txt
36 lines (31 loc) · 1.26 KB
/
CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Copyright (c) 2022 Zubax Robotics <info@zubax.com>
# Author: Pavel Kirienko <pavel.kirienko@zubax.com>
cmake_minimum_required(VERSION 3.20)
if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Build type" FORCE)
endif (NOT CMAKE_BUILD_TYPE)
project(crc_collider CXX C)
set(CMAKE_INTERPROCEDURAL_OPTIMIZATION ON)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} \
-fno-rtti \
-Werror -Wall -Wextra -Wdouble-promotion -Wswitch-enum -Wfloat-equal -Wundef -Wconversion -Wtype-limits \
-Wsign-conversion -Wcast-align -Wmissing-declarations -Wzero-as-null-pointer-constant -Wnon-virtual-dtor \
-Woverloaded-virtual -Wsign-promo -Wold-style-cast \
-Wno-error=attributes \
")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native -mtune=native -fomit-frame-pointer")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -march=native -mtune=native")
set(CMAKE_VERBOSE_MAKEFILE ON)
message(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
add_executable(crc_collider crc_collider.cpp)
target_link_libraries(crc_collider pthread)
add_library(
crchack STATIC
crchack/bigint.c
crchack/forge.c
)
include_directories(SYSTEM crchack)
add_executable(solver solver.cpp)
target_link_libraries(solver crchack)