W katalogu mam sobie pliki:
main.cpp mwc64x.hpp sortalgocommon.hpp sortheapsimddwordcascadingvariantb.hpp
Kompilacja odbywa się wywołaniem:
g++ -std=c++11 -O2 -Dxstr(s)=str(s) -Dstr(s)=#s -DSORT_ALGO=SimdDwordCascadingHeapSortVariantB -DSORT_HEADER=sortheapsimddwordcascadingvariantb.hpp -DSORT_SIMD -fopenmp -mavx2 -o program main.cpp
Chcę utworzyć plik CMakeLists.txt tak by móc stworzyć projekt z tych plików w NetBeansie. Jak na razie mój plik CMakeLists.txt wygląda tak:
cmake_minimum_required (VERSION 2.8)
project (SortAlgo)
add_definitions("-Dxstr(s)=str(s)" "-Dstr(s)=#s" "-DSORT_ALGO=SimdDwordCascadingHeapSortVariantB" "-DSORT_HEADER=sortheapsimddwordcascadingvariantb.hpp" "-DSORT_SIMD")
add_executable(SortAlgo main.cpp
Ale NetBeans strajkuje - "Running make failed". Wyjście w NetBeansie:
Scanning dependencies of target SortAlgo
[100%] Building CXX object CMakeFiles/SortAlgo.dir/main.cpp.o
/bin/sh: 1: Syntax error: "(" unexpected
make[2]: *** [CMakeFiles/SortAlgo.dir/main.cpp.o] Błąd 2
make[1]: *** [CMakeFiles/SortAlgo.dir/all] Błąd 2
make: *** [all] Błąd 2
MAKE FAILED (exit value 2, total time: 69ms)
Co zrobić, żeby projekt się budował i odpalał w NetBeansie?
Kolejny problem to to, że kilku opcji nie przeniosłem do CMakeLists.txt, np "-std=c++11", "-O2", "-fopenmp", "-mavx2". Gdzie je wrzucić?