
Berkus
23.01.2018
18:25:05
до
все что ставится до - выкидывается

Stanislav
23.01.2018
18:25:17
> cmake -DCMAKE_C_COMPILER и -DCMAKE_CXX_COMPILER т

Berkus
23.01.2018
18:25:27

Аттрибутивно-ассоциативный ряд
23.01.2018
18:25:28
то есть для каждого проекта прописывать CXX_STANDARD?

Google

fox.cpp
23.01.2018
18:25:47

Аттрибутивно-ассоциативный ряд
23.01.2018
18:26:01
мне так надо

Berkus
23.01.2018
18:26:01
ну сделай макро

Аттрибутивно-ассоциативный ряд
23.01.2018
18:26:11
у меня 10+ смейков

Berkus
23.01.2018
18:26:37

Аттрибутивно-ассоциативный ряд
23.01.2018
18:26:56
10+ проектов, то есть фалйов cmakelists.txt

Berkus
23.01.2018
18:27:11
у меня в одном проекте 15 файлов cmakelists.txt ЧЯДНТ?
то что они лежат в подкаталогах не значит что это отдельные проекты

Аттрибутивно-ассоциативный ряд
23.01.2018
18:27:54
10+ project(bla)
но это не важно
важно что при указании компялтора извне внутренние опции смейка игнорируются
и это очень странно

Google

Berkus
23.01.2018
18:28:38
да не должны, он точно так же детектится
ты уже попробовал их ВНУТРЬ project перенести?
toolchain file попробовал использовать?
мне реально лень это делать, тем более у тебя все файлы под рукой

Аттрибутивно-ассоциативный ряд
23.01.2018
18:29:31
проовал внутрь, не работает
хоят я через таргет проперти делал
как в документации указано

Berkus
23.01.2018
18:31:08
ты издеваешься

Аттрибутивно-ассоциативный ряд
23.01.2018
18:32:07
это cmake издевается


Berkus
23.01.2018
18:33:24
цмейк работает как надо
λ cmake -G Ninja -DCMAKE_CXX_COMPILER=g++ -DCMAKE_C_COMPILER=gcc ..
— The C compiler identification is AppleClang 9.0.0.9000039
— The CXX compiler identification is AppleClang 9.0.0.9000039
— Check for working C compiler: /usr/bin/gcc
— Check for working C compiler: /usr/bin/gcc — works
— Detecting C compiler ABI info
— Detecting C compiler ABI info - done
— Detecting C compile features
— Detecting C compile features - done
— Check for working CXX compiler: /usr/bin/g++
— Check for working CXX compiler: /usr/bin/g++ — works
— Detecting CXX compiler ABI info
— Detecting CXX compiler ABI info - done
— Detecting CXX compile features
— Detecting CXX compile features - done
— Configuring done
— Generating done
— Build files have been written to: /Users/berkus/Hobby/test-land/testlib/_build_
berkus@aramaki ~/H/t/t/_build_ (master=) λ ninja -v
[1/2] /usr/bin/g++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -std=gnu++1z -MD -MT CMakeFiles/foo.dir/foo.cpp.o -MF CMakeFiles/foo.dir/foo.cpp.o.d -o CMakeFiles/foo.dir/foo.cpp.o -c ../foo.cpp


Stanislav
23.01.2018
18:33:36
смейк хорошо работает да

Аттрибутивно-ассоциативный ряд
23.01.2018
18:34:07
покажи смейклист

Berkus
23.01.2018
18:34:12
— Detecting CXX compile features
— Detecting CXX compile features - done
вот здесь определяется поддержка стандарта
λ cat ../CMakeLists.txt
project(Foo)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
add_executable(foo foo.cpp)

Stanislav
23.01.2018
18:35:19
а потом -DCMAKE_TOOLCHAIN_FILE и поехали

Berkus
23.01.2018
18:35:43
ну да, если какой-то компилер другой то лучше полноценный тулчейн файл делать
тем более что у clang из brew может быть другой FIND_PATH и прочие переменные

Аттрибутивно-ассоциативный ряд
23.01.2018
18:37:06
смейк детектит фичи и все хорошо, но при вызове не передает флаг стандарта

Google

Berkus
23.01.2018
18:38:25

Аттрибутивно-ассоциативный ряд
23.01.2018
18:38:31
3.10

Berkus
23.01.2018
18:38:45
кланг дефолтный из брю?

Аттрибутивно-ассоциативный ряд
23.01.2018
18:39:00
да
5ю1

Berkus
23.01.2018
18:39:09
через brew install llvm?

Аттрибутивно-ассоциативный ряд
23.01.2018
18:39:54
да

Berkus
23.01.2018
18:39:59
оке, ща

Аттрибутивно-ассоциативный ряд
23.01.2018
18:40:41
почему я не могу вставить текст здесь?

Berkus
23.01.2018
18:43:34
фичи не находит

Аттрибутивно-ассоциативный ряд
23.01.2018
18:44:26
блин, в смейке баг

Stanislav
23.01.2018
18:44:41

Аттрибутивно-ассоциативный ряд
23.01.2018
18:44:51
да знать бы как пофиксить
багу ГОД!
ровно

Stanislav
23.01.2018
18:45:07
https://gitlab.kitware.com/cmake/cmake

Аттрибутивно-ассоциативный ряд
23.01.2018
18:45:23
даже два

Stanislav
23.01.2018
18:45:35
в ишьюзах и PR ничо не пишут?

Surreal
23.01.2018
18:45:51

Google

Аттрибутивно-ассоциативный ряд
23.01.2018
18:47:11
воркэраунд предлагают но он вроде бы не о том

Berkus
23.01.2018
18:49:17
ща брэда будем пушить

Аттрибутивно-ассоциативный ряд
23.01.2018
18:49:33
и он не работает (ожидаемо). Ладно, пойду читать переписки. два года блин, это печально.
я не могу ничего копировать сюда
даже текст из буфера запрещен

Stanislav
23.01.2018
18:49:50

Аттрибутивно-ассоциативный ряд
23.01.2018
18:50:12
The admin of this group has restricted you from sedning media here

Admin
ERROR: S client not available

Stanislav
23.01.2018
18:50:24
@berkus кинь потом в нас )
многоходовочка

Berkus
23.01.2018
18:51:25
можешь сюда запостить, я разрешил

Аттрибутивно-ассоциативный ряд
23.01.2018
18:51:36
https://gitlab.kitware.com/cmake/cmake/issues/15943
ура ура ура

Berkus
23.01.2018
18:54:47

Аттрибутивно-ассоциативный ряд
23.01.2018
18:55:32
странно, у меня не рабоатет

Berkus
23.01.2018
18:55:47
а у тебя есть где-нибудь cmake_minimum_required()?

Аттрибутивно-ассоциативный ряд
23.01.2018
18:55:56
вставил в топ файл сразу после cmake_minimum_required
cmake_minimum_required(VERSION 3.9)
cmake_policy(SET CMP0025 NEW)

Google


Berkus
23.01.2018
18:56:49
у меня вот так работает
λ cmake -G Ninja -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang ..
— The C compiler identification is Clang 5.0.1
— The CXX compiler identification is Clang 5.0.1
— Check for working C compiler: /usr/local/opt/llvm/bin/clang
— Check for working C compiler: /usr/local/opt/llvm/bin/clang — works
— Detecting C compiler ABI info
— Detecting C compiler ABI info - done
— Detecting C compile features
— Detecting C compile features - done
— Check for working CXX compiler: /usr/local/opt/llvm/bin/clang++
— Check for working CXX compiler: /usr/local/opt/llvm/bin/clang++ — works
— Detecting CXX compiler ABI info
— Detecting CXX compiler ABI info - done
— Detecting CXX compile features
— Detecting CXX compile features - done
— Configuring done
— Generating done
— Build files have been written to: /Users/berkus/Hobby/test-land/testlib/_build_
berkus@aramaki ~/H/t/t/_build_ (master=) λ ninja -v
[1/2] /usr/local/opt/llvm/bin/clang++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -std=gnu++1z -MD -MT CMakeFiles/foo.dir/foo.cpp.o -MF CMakeFiles/foo.dir/foo.cpp.o.d -o CMakeFiles/foo.dir/foo.cpp.o -c ../foo.cpp
[2/2] : && /usr/local/opt/llvm/bin/clang++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/foo.dir/foo.cpp.o -o foo && :
berkus@aramaki ~/H/t/t/_build_ (master=) λ cat ../CMakeLists.txt
cmake_minimum_required(VERSION 3.10)
cmake_policy(SET CMP0025 NEW)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
project(Foo)
add_executable(foo foo.cpp)


Аттрибутивно-ассоциативный ряд
23.01.2018
18:58:10
достаточно же в самый топовый cmakelists вставить или надо в каждый файл дописывать?

Berkus
23.01.2018
18:58:31
в топовый по идее, а у тебя где-то глубже в иерархии это ломается?
протестируй максимально близко к корню

Аттрибутивно-ассоциативный ряд
23.01.2018
18:59:09
я добавил в топ, все равно не передает


Berkus
23.01.2018
18:59:14
просто cmake_minimum_required(VERSION 3.10) без полиси достаточно
λ cmake -G Ninja -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang ..
— Check for working C compiler: /usr/local/opt/llvm/bin/clang — works
— Check for working CXX compiler: /usr/local/opt/llvm/bin/clang++ — works
— Build files have been written to: /Users/berkus/Hobby/test-land/testlib/_build_
berkus@aramaki ~/H/t/t/_build_ (master=) λ ninja -v
[1/2] /usr/local/opt/llvm/bin/clang++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -std=gnu++1z -MD -MT CMakeFiles/foo.dir/foo.cpp.o -MF CMakeFiles/foo.dir/foo.cpp.o.d -o CMakeFiles/foo.dir/foo.cpp.o -c ../foo.cpp
[2/2] : && /usr/local/opt/llvm/bin/clang++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names CMakeFiles/foo.dir/foo.cpp.o -o foo && :
berkus@aramaki ~/H/t/t/_build_ (master=) λ cat ../CMakeLists.txt
cmake_minimum_required(VERSION 3.9)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
project(Foo)
add_executable(foo foo.cpp)


Аттрибутивно-ассоциативный ряд
23.01.2018
19:00:28
во все проекты добавил
cmake_minimum_required(VERSION 3.10)
cmake_policy(SET CMP0025 NEW)

Berkus
23.01.2018
19:00:37
без полиси должно работать

Аттрибутивно-ассоциативный ряд
23.01.2018
19:00:48
не работает ?

Berkus
23.01.2018
19:00:50
3.9 тоже работает

Аттрибутивно-ассоциативный ряд
23.01.2018
19:00:59
да

Berkus
23.01.2018
19:03:50
— Build files have been written to: /Users/berkus/Hobby/test-land/testlib/_build_
[1/4] /usr/local/opt/llvm/bin/clang++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -std=gnu++1z -MD -MT sub/CMakeFiles/bar.dir/bar.cpp.o -MF sub/CMakeFiles/bar.dir/bar.cpp.o.d -o sub/CMakeFiles/bar.dir/bar.cpp.o -c ../sub/bar.cpp
[2/4] /usr/local/opt/llvm/bin/clang++ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk -std=gnu++1z -MD -MT CMakeFiles/foo.dir/foo.cpp.o -MF CMakeFiles/foo.dir/foo.cpp.o.d -o CMakeFiles/foo.dir/foo.cpp.o -c ../foo.cpp
в подпроектах тоже работает
указывал только в рутовом
давай ты тот же проект за соберешь у себя

Constantine
23.01.2018
19:19:06
ты точно не школьник?

Stanislav
23.01.2018
19:19:47