«cmake» etiketlenmiş sorular

CMake, çapraz platformlu, açık kaynaklı bir derleme sistem üreticisidir. Çeşitli entegre geliştirme ortamları için yerel makefiles, ninja-build ve proje dosyaları gibi derleme sistemleri için dosyalar oluşturur.

3
Komut satırında CMake seçeneği () nasıl ayarlanır
Aşağıdakileri içeren bir CMakeLists.txt oluşturdum project(P4V) cmake_minimum_required(VERSION 2.6) option(BUILD_STATIC_LIBS "Build the static library" ON) option(BUILD_SHARED_LIBS "Build the shared library" ON) option(BUILD_TESTS "Build test programs" OFF) include_directories(${CMAKE_SOURCE_DIR}/include) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/lib) set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/bin) set(CMAKE_BUILD_TYPE Release) add_subdirectory(src) if(BUILD_TESTS) add_subdirectory(tests) endif(BUILD_TESTS) Varsayılan olarak BUILD_TESTS KAPALI'dır, CMake GUI olmadan ama cmake komutunun kendisi ile …

8
CMake ile CCache Nasıl Kullanılır?
Aşağıdakileri yapmak istiyorum: PATH'de CCache varsa, derleme için "ccache g ++" kullanın, yoksa g ++ kullanın. Küçük bir my-cmake betiği yazmayı denedim CC="ccache gcc" CXX="ccache g++" cmake $* ancak çalışmıyor gibi görünüyor (make çalıştırmak hala ccache kullanmıyor; bunu CMAKE_VERBOSE_MAKEFILE üzerinde kullanarak kontrol ettim). Güncelleme: Gereğince bu bağlantı Ben benim komut …
92 c++  unix  cmake  ccache 

10
CMake & CTest: Make test test oluşturmaz
make testHedef kullanarak bazı testlerimi otomatik olarak çalıştırmak için CMake'de CTest'i deniyorum . Sorun şu ki CMake, yürütmek istediğim testin projenin bir parçası olduğu için inşa edilmesi gerektiğini "anlamıyor". Bu nedenle, bu bağımlılığı açıkça belirtmenin bir yolunu arıyorum.

10
C ++ ile bağlayıcı dilini belirleyemiyor
Hem Visual Studio 2010 hem de Cygwin ile Windows 7 x64'te bir merhaba dünya programı çalıştırmaya çalışıyorum, ancak ikisi de işe yaramıyor gibi görünüyor. Dizin yapım aşağıdaki gibidir: HelloWorld -- CMakeLists.txt -- src/ -- -- CMakeLists.txt -- -- main.cpp -- build/ A ve cd buildardından a yazıyorum ve bunu cmake …
90 c++  c  cmake 

4
CMake kullanarak CFLAGS ve CXXFLAGS seçeneklerini ayarlayın
Sadece Linux üzerinde çalışan bazı kodlarda hata ayıklamak istiyorum ve bir hata ayıklama yapısına ihtiyacım var ( -O0 -ggdb). Ben de şunları ekledim CMakeLists.txt: set(CMAKE_BUILD_TYPE DEBUG) set(CMAKE_C_FLAGS "-O0 -ggdb") set(CMAKE_C_FLAGS_DEBUG "-O0 -ggdb") set(CMAKE_C_FLAGS_RELEASE "-O0 -ggdb") set(CMAKE_CXX_FLAGS "-O0 -ggdb") set(CMAKE_CXX_FLAGS_DEBUG "-O0 -ggdb") set(CMAKE_CXX_FLAGS_RELEASE "-O0 -ggdb") Derlemeyi denediğimde, kullanmaya make VERBOSE=1 başladım …
90 cmake  cflags 

5
CMake'de İşlev ve Makro
CMake 2.8.12'nin resmi belgesi şunları söylüyor:macro Çağrıldığında, makroya kaydedilen komutlar önce biçimsel parametrelerin ($ {arg1}) geçirilen argümanlarla değiştirilmesiyle değiştirilir ve ardından normal komutlar olarak çağrılır. ve hakkında function Çağrıldığında, işleve kaydedilen komutlar önce biçimsel parametrelerin ($ {arg1}) geçirilen argümanlarla değiştirilmesiyle değiştirilir ve ardından normal komutlar olarak çağrılır. Açıkçası, iki alıntı …
90 cmake 


13
Cmake, Boost'u bulamıyor
CMake kullanarak bir proje yapılandırmaya çalışıyorum, ancak belirtilen klasörde olsalar bile Boost kitaplıklarını bulamıyor. Ben belirttiniz Boost_INCLUDE_DIR, Boost_LIBRARYDIRve BOOST_ROOT, ama yine de CKağıt Boost bulmak mümkün olmadığını belirten bir hata alıyorum. Böyle bir hatanın sebebi ne olabilir?
89 boost  cmake 


1
Modern OpenMP desteği almak için CMake'i Windows'ta komut satırından clang kullanacak şekilde yapılandırın
Paralelleştirme için OpenMP kullanan küçük bir test projem var. Amacım bunu üretecek şekilde .dllve .libkütüphaneler için derlemektir (çünkü gerçek projem bu türler kullanılarak dağıtılan harici kütüphanelere bağlanır), OpenMP 4.5 veya daha yeni bir desteğiyle bunu yapmak ve komut satırından bunu yapmak için bir docker'da yapılabilir. test etme ve kontrol etme …

1
CMake: Geçişli bağımlılığın nereden geldiğini nasıl anlarım?
Otomatik bağımlılık yayma gibi modern özellikleri kullanmak için eski bir CMake kurulumunu yeniden yazma sürecindeyim. (örneğin, target_include_directories(<target> PUBLIC <dir>)bunun yerine gibi şeyler kullanarak include_directories(<dir>)) Şu anda, bir grup genel dizin özelliği ayarlayarak tüm proje bağımlılığı bilgilerini el ile işliyoruz. Testlerimde, yeni yapıdaki bir hedefin, eski yapıdaki bir kütüphaneye bağlanacağı birkaç …
10 cmake 
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.